ascII 码转换与if语句问题!!!?求教
#include <stdio.h>void main()
{
char c;
printf("input a character: \n");
c = getchar();
if(c < 32)
{
printf("This is a cntrol character\n");
}
else if(c >='0' && c <='9')
{
printf("This is a digit\n");
}
else if(c >= 'A' && c <= 'Z')
{
printf("THis is a big letter\n");
}
else if(c >= 'a' && c <= 'z')
{
printf("This is a small letter\n");
}
else
{
printf("This is an other character\n");
}
}
c = getchar();
if(c < 32)
{
printf("This is a cntrol character\n");
}
else if(c >='0' && c <='9')
{
printf("This is a digit\n");无论我输入31 或者99都是输出显示都是This is a digit这一句。。。为什么? 猜测可能是getchar();引发的问题,可以替换成标准读入试试,
getchar会在内存残留回车符号,二次读取容易引发意想不到的结果。 强烈支持楼主ing…… zhangbin101004 发表于 2013-12-23 08:17 static/image/common/back.gif
猜测可能是getchar();引发的问题,可以替换成标准读入试试,
getchar会在内存残留回车符号,二次读取容易引 ...
追加一个问题,scanf("") 和getchar()都是键盘输入,现在也不是很明白他们之间的区别。
页:
[1]