| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5483 人关注过本帖
标题:请教fflush的作用
只看楼主 加入收藏
huangningbo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-23
收藏
 问题点数:0 回复次数:8 
请教fflush的作用
请问哪位可以帮我解释一下fflush(stdin)的作用,括号里面的stdin又是什么意思,程序里面不用这个又会怎么样???
搜索更多相关主题的帖子: fflush stdin 括号 
2005-04-23 23:19
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
清空输入的缓冲流,stdin是标准的输入设备,定义为文件指针。。可以视作文件一样输入。。。

[此贴子已经被作者于2005-4-23 23:28:32编辑过]



我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-04-23 23:27
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
收藏
得分:0 
清流函数!
stdin 代表标准输入

Every thing is possible.
2005-04-23 23:28
huangningbo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-23
收藏
得分:0 
如果不用会怎么样,程序运行会不会不正常。
2005-04-23 23:30
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 

#include <stdio.h> #include <conio.h>

int main() { char a,b; printf("input a="); scanf("%c",&a); if(a=='a') { /* fflush(stdin); */ printf("input b="); scanf("%c",&b); if(b=='b') printf("ok\n"); } getch(); return 1; } 自己体会一下用和不用所带来的不同效果吧。。。。。。。。。。。


我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-04-23 23:38
huangningbo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-23
收藏
得分:0 
意思就是说如果不清空缓冲,再要输入数据的时候就会缓冲满了,就输不进去数据了,是不是?
第一次在这里发贴,这里的热心人真多,谢谢大家
2005-04-23 23:51
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
并不是那样,首先你注意我给出的源代码,第一scanf()接受一个字符输入,当你输入一个字符后按下回车,只有你输入的那个字符被赋给了a,而剩下的一个换行符还保留在缓冲中,当第二次输入时无论你输入的什么字符,都是无效的,缓冲就如堆栈,符合先进先出原则,既然你缓冲中先前有个换行符,那么系统在遇见第二个scanf时自动会将换行符赋给b,所以输入的东西都是无效的。。。。

我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-04-23 23:56
huangningbo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-23
收藏
得分:0 
哦,现在明白了,回车也给它当做一个输入字符,谢了
2005-04-24 00:06
hxwj
Rank: 2
等 级:论坛游民
帖 子:75
专家分:34
注 册:2016-12-8
收藏
得分:0 
应该是刷新输入的缓冲区吧
2018-11-16 09:38
快速回复:请教fflush的作用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018543 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved