可能重复:
使用 fflush(stdin)
我的代码是:
scanf("%d", &_choice);
fflush(stdin);
gets(input);
我fflush(stdin);
用来删除.'\n'
之后留下的字符scanf
。
但是,我发现它不起作用,并gets
自动获取'\n'
字符并继续。
我通过使用getchar()
而不是解决了它,fflush
但我仍然无法弄清楚为什么fflush
不起作用......
编辑:我现在了解fflush
仅用于输出流。但是有没有stdin
从垃圾中“清理”的命令?