#include<stdio.h>
int main()
{
char ch;
char a[20] = {0};
scanf("%c", &ch);
scanf("%s", a);
printf("%c\n", ch);
printf("%s",a);
return 0;
}
这样一段代码,我以为输入一个字符后回车,再输入字符串的结果是:那个回车留在缓冲区里,之后赋给了字符串的第一个字符。但是结果并不是这样:
结果并没有受到影响,此处开始我就不明白输入字符之后的缓存区里是怎么一回事了?
希望有人能给出解释,谢谢!