| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5483 人关注过本帖
标题:请教fflush的作用
取消只看楼主 加入收藏
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
清空输入的缓冲流,stdin是标准的输入设备,定义为文件指针。。可以视作文件一样输入。。。

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


搜索更多相关主题的帖子: fflush stdin 括号 
2005-04-23 23:27
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
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 
并不是那样,首先你注意我给出的源代码,第一scanf()接受一个字符输入,当你输入一个字符后按下回车,只有你输入的那个字符被赋给了a,而剩下的一个换行符还保留在缓冲中,当第二次输入时无论你输入的什么字符,都是无效的,缓冲就如堆栈,符合先进先出原则,既然你缓冲中先前有个换行符,那么系统在遇见第二个scanf时自动会将换行符赋给b,所以输入的东西都是无效的。。。。

我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-04-23 23:56
快速回复:请教fflush的作用
数据加载中...
 
   



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

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