求解答:有点不懂第一个if和第一个else if,如果第一个if小于32那第一个else if还有什么意义?还有就是char后面一般是输入啥?

img

第一个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;
}

运行结果:

img

char c;
一般输入单个字符;

第一个if 判断的是控制字符,后面判断的是数字,小写字母 大写字母