我遇到for循环问题。基本上,我得到了我想要的输出,但出于错误的原因。打印出该程序
xoxoxoxo
oxoxoxox
xoxoxoxo
oxoxoxox
xoxoxoxo
oxoxoxox
xoxoxoxo
oxoxoxox
问题在于产生这种情况的顺序。我需要让内循环为每个外循环迭代8次(也迭代8次),这是不会发生的。
编译器在打印后继续返回if语句,而不是返回检查内部for循环(j)。
#include <stdio.h>
int main() {
int i;
int j = 0;
for (i = 1; i < 9; i++) {
for (j = 1; j < i + 4 && j < 5; j++) {
if (i % 2 == 0) {
printf("o");
printf("x");
}
else {
printf("x");
printf("o");
}
}
printf("\n");
}
getchar();
return 0;
}
答案 0 :(得分:1)
我假设您误解了调试器的行为,而代码实际上完全按照它应该执行的操作。为什么你的调试器不会跳转到for循环的头部,而是立即转到if,我不能说。但他们对这些事情都不同:)