我在使用 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;
}
最佳答案
我假设您误解了调试器的行为,而代码实际上完全按照它应该做的去做。为什么你的调试器不跳转到 for 循环的头部而是立即跳转到 if,我不能说。但是他们在这些事情上都是不同的:)
关于c - IF语句覆盖C中的FOR循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40061586/