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