【发布时间】:2019-11-17 18:30:47
【问题描述】:
我在尝试将字符扫描到数组时遇到了问题。
这是扫描循环 -
char letter[6] = {0};
for(int i = 0; i <= 5; i++)
{
scanf(" %c", &letter[i]);
}
期望的结果是,如果输入小于 6,则每个未从 scanf 接收值的元素都保持为 0。
但是,如果我尝试输入例如 3 个字符,我将无法在程序中继续。
另一方面,当我尝试从 txt 文件中输入 3 个字符时,程序可以正常工作并且我达到了预期的结果。
我想知道解决此问题的正确方法是什么。
提前谢谢大家。
【问题讨论】:
-
"如果我尝试输入例如 3 个字符" 您是否为此按下了 4 个键?提示,寻找
键。 -
我尝试过以多种组合方式直接输入 1-5 个字符,但是只有当我通过 txt 文件输入输入时程序才会运行,否则 scanf 将等到我输入剩余的字符。跨度>