C语言:假如我要输入一个数字,代表某样东西的数量,但是我要的是只能输入数字,输入别的字符都显示输入错

C语言:假如我要输入一个数字,代表某样东西的数量,但是我要的是只能输入数字,输入别的字符都显示输入错误,“请重新输入”。请问该怎么编程。请能人在重要位置标上注释。
是不是要先定义为char 类型,然后用ASCII码定范围?

第1个回答  2011-07-31
嗯,用char定义好变量后,可以用if语句或者用switch语句来判断输入的是否为数字字符,如果要用这些输入的字符来计算的话,就转到数字,再计算就OK了。
先按这思路自己编编吧!真的编不出来再问问
第2个回答  2011-07-31
对滴,定义为char类型
#include<stdio.h>
int main()
{
char c;
scanf("%c",&c);
if(c<'0'||c>'9') {printf("请重新输入!\n");return 0;}
printf("c=%c\n",c);
return 0;

}本回答被提问者采纳
第3个回答  2011-07-31
试一下下面的代码,你就知道了^_^
#include <stdio.h>
void main()
{
int n;
while (scanf("%d",&n)!=1)// 检查成功赋值的数据项个数是否为 1 个
{
printf("Error! You should input a digit!\n");
fflush(stdin);// 刷新输入缓冲区
}
printf("The digit is %d\n",n);
}
第4个回答  2011-07-31
嗯,是的。
相似回答