fflush(stdin)

来源:互联网 发布:法蒂玛预言 知乎 编辑:程序博客网 时间:2024/06/05 02:05

清空输入缓冲区.

你从键盘输入的所有字符被存到一个缓冲区,在你调用getchar,getch,getche,scanf等函数时,电脑从这个缓冲区取,而不一定正好是你在这个时候键盘输入的.(如果你上次从键盘的输入和程序中要求的内容不一致时).
清空之后,就是直接从你这个时候从键盘上输入的字符中读取了.

 

例如
gets(a);
fflush(stdin);
gets(b);
如果没有用fflush(stdin);
那么gets(b);
就会默认把上一次输入后的"回车"作为结果输给b;

 

刚刚百度回来的,怕忘记记下来