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