C语言使用scanf语句输入字符串或者在for循环向字符数组中输入出现scanf语句不执行
例如简单地向字符数组中添加字符
#include<stdio.h>
int main()
{
char he[10];
int i;
for(i = 0; i < 3;i++)
{
scanf("%c",&he[i]);
}
return 0;
}
for循环中应该输入3个数据,但是只能输入2个字符数据
原因在于:
scanf语句输入时,回车键留在了缓冲区,下次输入时,自动将回车键输入导致只能输入两个数据;
解决办法:
在scanf语句前面或者后面加入getchar();语句来清除缓冲区中的回车符。