本帖最后由 一路向北lm 于 2018-7-8 16:31 编辑
各位大神好,小弟遇到个问题有点费解,请大神帮忙解答,程序不多,请大家看看,很简单:
int main(void)
{
int n, a;
while(1)
{
if((a = scanf("%d", &n)) == EOF)
{
printf("input error\n");
return -1;
}
else if(a != 1)
{
printf("excuse me!! please enter the correct number\n");
}
}
}
我的目的是输入一个数字,如果不是数字则重新输入,直到输入是数字为止。我觉得这段代码能够实现,如过输入不是数字就会返回到while开头scanf重新输入,可是我编译运行,故意输入字母,可是没让我重新输入而是循环打印excuse me!! please enter the correct number。
这是怎么回事啊各位大神,不应该是循环到头部scanf继续输入吗? 如果这样不行那怎么实现我想要循环输入的功能呢?
|