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