为什么 if(grade>='a' && grade<='z')也包含了大写字母A-Z?求解答
追答记得点一下采纳按钮哦
if(grade>='a' && grade<='z'),是指如果输入的字符是小写字母a~z,就变成大写字母。
并不是包含了大写字母。
这样转换以后,switch里面可以统一按照大写字母判断。
减32就是变成对应的大写字母。
你这么一解释我明白了,谢谢
本回答被提问者采纳#include<stdio.h>
int main (void){
char grade;
printf("请输入成绩等级:");
scanf("%c" , &grade) ;
if( 'a'<grade<'z')
grade=grade- 32;
switch(grade)
{
case A: printf ("90-100\n"); break;
case B: printf("80-89\n") ; break;
case c:printf("70-79\n") ; break;
case D:printf("60-69\n" ) ; break;
case E:printf ("<60\n") ; break;
default:printf ( "error") ;
}
return 0;
}