
#include
void main()
{ char ch, yn;
ch=getchar();
yn=(ch>='0'&&ch<='9')?'Y':'N'中为什么会出现ch>='0'&&ch<='9'理解不了,请教高手指点,本人初学,谢谢
在ch>='0'中char型自动向int型转化,因或搭悔为每个字符都有一个编码值,如'0'为48,‘A’为65 .并且编码时'0'~'9'是连续的,所以ch>='0'&&ch<='9'判断是所输入的字符不是在0和9之间,从而判断衫正输入的是枝或不是一个数字
每个字符都有对应的ASSIC码表,字符在计算机的内部是按照整数来处理的戚烂,因为0-9数字字符是连续的所以可以通过以上的形式判断一个字符是否属于数字字符,getchar();也只是能够输入字冲春符即使你输入的是数字,他默认的保存还是一个高判漏字节的长度。
A?B:C 中的?:是条件运算符,作用是:若A成立则整个表达式值是B,否则是C。
yn=(ch>='0'&&ch<='9')?'Y':'N'这句先执行条御旁件运算符,再将得到的结果赋值给yn
因为数字字符只有0到9,数字镇塌橡字符也有大小,ch>='0'衫亩&&ch<='9'是指字符从0到9之间。
你的输缺厅出函数全都写出来。
#include
#include<伏困隐conio.h>
main()
{
char ch, yn;
ch=getchar();
yn=(ch>='0'&&ch<='9')?'Y':'N'尺唤 ;
printf("%c",yn);
getch();
}
ch=getchar();这个函数表明从键盘接渣迹清受一个字符,那么ch>州禅='0'&&ch<='9'判断是不是在0和9之间的一个字符,那么就是判断是否为数字了如前。