c语言:fflush(stdin)中的stdin是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/02 21:17:23

fflush(stdin)中stdin是标准输入的意思。

fflush(stdin)的作用是清空标准输入缓冲区。


举例说明如下:

int a;
char c;
scanf("%d",&a); 
fflush(stdin);   // 清空输入缓冲区
scanf("%c",&c);

如果不加fflush(stdin)的话,第一次输入的回车可能会被第二次输入操作所捕捉,也即变量c的值将会是回车符,并不会接收用户输入的字符。

stdin是标准输入流, 本质上跟文件流的概念差不多, 只不过文件流是你自己用fopen建立的, stdin是系统帮你内建好的, 你从键盘输入的字符都被放进stdin, 用scanf等函数就可以从stdin里面取出字符.

对比一下就是, 我们用的scanf就是对stdin在操作, 而fscanf是对文件流操作

fflush(stdin)就是把输入流清空

没见过

http://zhidao.baidu.com/question/61464989.html?si=1&wtp=wk
参考这里