清空输入缓冲区fflush()

转自:http://blog.csdn.net/21aspnet/article/details/174326

scanf( )函数可以接收输入的换行符,'\n',(asci为10),利用函数fflush(stdin),可以清空输入内存缓冲区。

 

//  function name fflush
//  清空一个流 ,2014--03--29
#include <stdio.h>
void main()
{
	char ch ;
	printf("Enter a character :\n"); 
	scanf("%c",&ch);       // 在这里int scanf(char *format[.argument]...) 函数scanf()可以接受换行符的输入
	fflush(stdin);

	printf("character ch = %c\n",ch  );
	printf("character ch = (asci)%d\n",(int)ch);

	char buffer[40];
	printf("Enter a line : \n");

	scanf("%s",buffer );

	printf("buffer = %s\n",buffer );
}

 

当直接敲击enter键时,运行情况为:

 

当直接输入zhangsan lisi 时,显示为:

当把fflush(stdin);注释掉时,输入zhangsan lisi显示为:

可以看到,没有输入buffer ,就直接显示buffer为hangsan

可以得出,fflush(stdin);直接清空输入内存缓冲区。

                                                    //  2014 --03--29

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值