本帖最后由 一路向北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继续输入吗? 如果这样不行那怎么实现我想要循环输入的功能呢?
|