真的抓狂了,isdigit()到底怎么用?救救小生我吧!
程序如下:#include <stdio.h>
#include <ctype.h>
int x=5;
main()
{
printf("%d",isdigit(x));
return;
}
输出如下:
0
为啥啊!难道5不是数吗?isdigit(x)的值不应该是非0吗?我头发都快抓成爱因斯坦了也没想明白,神啊救救我吧!哪位大人帮帮忙啊!!
[[it] 本帖最后由 duanjingyu 于 2008-3-24 10:32 编辑 [/it]]
----------------解决方案--------------------------------------------------------
你把int x=5;
这句改成int x='5';
----------------解决方案--------------------------------------------------------
原型:extern int isdigit(int c);
用法:#include <ctype.h>
功能:判断字符c是否为数字;
说明:当c为数字0-9时,返回非零值,否则返回零。
-----------注意此点
判断字符c是否为数字;
LZ的代码中int x=5;5不是一个字符型数字;是数值型二进制0101你可以在ASCII表中查下是什么字符。
----------------解决方案--------------------------------------------------------