一个简单的C语言问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/22 10:41:50
补充完程序要:若 输入数字字符 转换成数字后显示出来!!!
#include"stido.h"
main()
{
int c;
c=getchar();
if( 填空 ) (填空) ;
printf("%d",c);
}
可以帮我解析一下吗??

c>='0'&&c<='9'

if(ch>='0'&&ch<='9')ch=ch-'0';

在C中,int和char可以隐式转换,所以可以用条件运算符比较大小,按照ASCII码比较大小。

ch-‘0’的int值就变成了它对应的数字,可以用%d输出。

可以在ASCII码表中查看各个字符的ASCII码值。

程序应该是这样吧

if ( c>='0' && c<= '9' )//如果c是字符(这里是判断c的ascii码,'0'的ascii码应该是48,之后一直排到58。
{
printf("数字为:%d\n",c-'0'); //字符在内存里也是010101之类的东西。刚才说了,0的ASCII码是48,如果你输入一个0,那么存入C的数值就是48,所以用C减去'0'(即字符0)就是它的数值啦。
}
else
{
printf("输入的不是数字\n");
}