C语言 只能输入数字,输入其他就提示输入错误,请重新输入怎么弄?

2025-01-04 18:03:48
推荐回答(3个)
回答1:

//当scanf接收到不匹配的输入时会返回0
#include
void main()
{
int n=0;
while(n!=99999)
{
if((scanf("%d",&n)==0))
{
printf("错误!!请重新输入\n");
fflush(stdin);
continue;
}
else
printf("OK!!!\n");
}
}

运行结果:

1234
OK!!!
abcd
错误!!请重新输入
a
错误!!请重新输入
12345678
OK!!!
aaa
错误!!请重新输入
99999
OK!!!
请按任意键继续. . .

回答2:

不知道你指的是输入一个数字或字符还是一串
下面是输入一个数字或字符的
#include
int main()
{
char c,c1;
while(1)
{
c=getchar();
c1=getchar(); //你打一个非数字时要按回车,回车本身也是一个字符,
用c1接收回车,以免打一个字符输出两个error
if(c>='0'&&c<='9')
break;
printf("error!\n");
}
}

回答3:

#include void main() {int i; char m; for (i=0;i>=0;i++) {printf("shu<0-9>;\n"); scanf("%c",&m); if(m>='0'&&m<='9') {printf("%d",(int)m); brack;} else printf("cuo Wu"); } system ("PAUSE"); }