标题:关于 fflush(stdin)
只看楼主
smile_line
Rank: 2
等 级:论坛游民
帖 子:65
专家分:19
注 册:2013-3-3
结帖率:100%
已结贴  问题点数:20 回复次数:5 
关于 fflush(stdin)
我想问问fflush(stdin)究竟是什么何方神圣?我被度娘搞晕了。。。。。
为什么有时候没了它就不行了。另外,输入流和输出流到底是啥东东

代码:
#include <stdio.h>
#include <conio.h>

void main( void )
{
   int integer;
   char string[81];

   /* Read each word as a string. */
   printf( "Enter a sentence of four words with scanf: " );
   for( integer = 0; integer < 4; integer++ )
   {
      scanf( "%s", string );
      printf( "%s\n", string );
   }

   /* You must flush the input buffer before using gets. */
   fflush( stdin );
   printf( "Enter the same sentence with gets: " );
   gets( string );
   printf( "%s\n", string );
}  
搜索更多相关主题的帖子: Enter void before include 
2013-05-30 17:35
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
得分:5 
fflush乃清空缓存....输入输出流是c++里面的东西吧
2013-05-30 18:03
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
得分:5 
刷新缓冲区。不让你输入的回车不背接收
2013-05-30 18:05
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:5 
清除缓存!让你的回车键不被读取!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-30 21:49
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:5 
清楚缓存,就比如scanf输入数据都是放在缓冲区,然后只读到空格或者回车就结束,有一部分就放在缓冲区了,所以要清除

Maybe
2013-05-31 00:47
hsjjgm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:189
注 册:2013-4-27
得分:0 
记住吧
2013-05-31 16:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-412612-1-1.html




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

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