为什么fflush(stdin)不起作用?

时间:2013-01-12 23:59:04

标签: c

  

可能重复:
  Using fflush(stdin)

我的代码是:

scanf("%d", &_choice);
fflush(stdin);
gets(input);

我使用fflush(stdin);删除'\n'之后留下的scanf字符。

但是,我发现它不起作用,gets自动获取'\n'字符并继续。

我使用getchar()代替fflush解决了这个问题,但我仍然无法弄清楚为什么fflush没有工作......

编辑:我现在明白fflush仅适用于输出流。 但是有没有从垃圾中“清除”stdin的命令?

1 个答案:

答案 0 :(得分:4)

因为fflush用于输出流。

无论如何,fflush不是为了“删除\n字符”......