C语言使用scanf语句输入字符串或者在for循环向字符数组中输入出现scanf语句不执行

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();语句来清除缓冲区中的回车符。

发布了20 篇原创文章 · 获赞 75 · 访问量 6916

猜你喜欢

转载自blog.csdn.net/weixin_42089228/article/details/85012948
今日推荐