c - 在 for 循环中获取多个字符输入

标签 c

char c;
int i;
for(i=0;i<5;i++)
{
 printf("Enter a character : ");`
 scanf("%c",&c);
}
getch();

上面的代码不能正常工作。它只获取了3次输入。我无法找到解决方案。请帮忙解决。提前致谢!!

最佳答案

这是因为上一个 scanf 留下的换行符 \n 被下一次迭代中的 scanf 读取。在 %c 说明符之前放置一个空格以使用 \n

scanf(" %c",&c);  
       ^Notice the space

关于c - 在 for 循环中获取多个字符输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21556850/

相关文章:

c - 是否建议在 C 中将可变长度数组 (VLA) 与内联函数一起使用?

c - 为什么 mblen() 总是返回 1?

c - GluProject 未在 C 中显示准确的坐标

java - 两个排序数组的最大对数

C代码版本指示

c - 我在 c 中得到了意外的输出 .. 谁能解释为什么?

C 编程 - 一个数组和一个随机数组合的问题?

c++ - 创建一个 fat16 模型

objective-c - 圆弧和 Malloc : EXEC_BAD_ACCESS

c - 如何在 C 中为 int(不是 int*)数组动态分配内存?