您的位置:首页 > 其它

清空输入缓冲区fflush()

2014-03-29 13:47 453 查看
转自: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: