我有两个代码几乎相同的问题,但我不知道为什么他们的行为不一样。
这是第一个:
printf("Type something : );
scanf("%d", &nb);
scanf("%c", &c);
这是第二个:
printf("Type something : );
scanf("%d", &nb);
scanf("%c", &c);
fgetc(stdin);
在第一种情况下,程序仍在等待输出结束。
在第二个中,程序跳过第二个scanf指令。
我似乎很不清楚。你能帮我吗 ?
提前致谢。
答案 0 :(得分:0)
看来你的解释是相反的。第一个程序似乎可以跳过第二个scanf
,因为可以读取后跟一系列数字的任何空格或换行符。但由于呼叫fgetc(stdin)
,第二个程序将等待您的输入。