在用scanf写程序时,遇见scanf输入完数据后,缓冲中还存在\n,在此记录。
#include"stdio.h"
int main()
{
int a =0,i=0;
char name[10]={0};
scanf("%d",&a);
fgets(name,20,stdin);
for(i= 0;i<10; i++)
{
printf("0x%x\n",name[i]);
}
return 0;
}
如上程序中,执行scanf时,再执行fgets可以看见输入结果:
0xa
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
第一个数据为0x0a 表示'\n',可见缓冲中确实存在'\n'