【发布时间】:2013-10-28 16:31:41
【问题描述】:
我正在尝试编写一个简单的演示程序,该程序将在输入指定字符时跳出循环。我能够成功地做到这一点,直到我想添加我没有超过我的数组的额外条件。当我输入指定的字符时,这段代码不会跳出循环,我不知道为什么。代码的逻辑和设置似乎很合理!
#include <stdio.h>
char input[10];
char breakout = '!';
int idx;
int main(void)
{
printf("Input characters until %c character is used to break out", breakout);
for(idx = 0; input[idx] != breakout && idx < 10; idx++)
{
scanf("%c", &input[idx]);
}
printf("Program terminated:");
getchar();
return 0;
}
似乎 for 循环的条件在输入 '!' 时应该评估为 false性格,但事实并非如此。谢谢大家
【问题讨论】:
-
初始化
input否则你将在第一次循环测试后访问垃圾值