c语言问题,高手进来看下

来源:百度知道 编辑:UC知道 时间:2024/04/28 05:09:11
#include <stdio.h>
main()
{ char c;
printf("Enter a character:");
c=getchar();
if(c<0x20) printf("The character is a control character\n");
else if(c>='0'&&c<='9') printf("The character is a digit\n");
else if(c>='A'&&c<='Z') printf("The character is a capital letter\n");
else if(c>='a'&&c<='z') printf("The character is a lower letter\n");
else printf("The character is other character\n");
}

c<0x20是什么意思?
为什么无论输入什么,都会至少输出一句The character is a control character ?

0x20 是16进制的写法
那估计是你输入的不在以下else的条件里
我输入0就输出The character is a digit

0x20 这是16进制啊,转换为十进制是32啊

c<0x20 意思是C的值小于16进制的20
-------------------------------
当你输入的字符ASC码小于0X20时 就会输出The character is a control character