可能重复:
Using fflush(stdin)
我的代码是:
scanf("%d", &_choice);
fflush(stdin);
gets(input);
我使用fflush(stdin);
删除'\n'
之后留下的scanf
字符。
但是,我发现它不起作用,gets
自动获取'\n'
字符并继续。
我使用getchar()
代替fflush
解决了这个问题,但我仍然无法弄清楚为什么fflush
没有工作......
编辑:我现在明白fflush
仅适用于输出流。
但是有没有从垃圾中“清除”stdin
的命令?
答案 0 :(得分:4)
因为fflush
用于输出流。
无论如何,fflush
不是为了“删除\n
字符”......