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
参考这里