第一个else if 是字符 ‘0’ 到‘9’,不是数字0到9。
根据ASCII编码:字符‘0’ 到‘9’的数字编码对应48到57
字母A到Z对应65到90
字母a到z对应97到122
char是字符型变量,占1个字节。
验证代码如下:
#include "stdio.h"
int main()
{
char c1 = '0';
char c2 = 'A';
char c3 = 'a';;
printf("\n------------ASCII '0' - '9'------------ \n");
for(c1 = '0'; c1 <='9'; c1++)
{
printf("'%c':%d\t",c1,c1);
}
printf("\n------------ASCII 'A' - 'Z'------------ \n");
for(c2 = 'A'; c2 <='Z'; c2++)
{
printf("'%c':%d\t",c2,c2);
}
printf("\n------------ASCII 'a' - 'z'------------ \n");
for(c3 = 'a'; c3 <='z'; c3++)
{
printf("'%c':%d\t",c3,c3);
}
return 0;
}
运行结果:
char c;
一般输入单个字符;
第一个if 判断的是控制字符,后面判断的是数字,小写字母 大写字母