清空输入缓冲区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


智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告