嵌套循环
循环嵌套
在一个循环里再写另一个循环:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
printf("*");
}
printf("\n"); // 每打完一行换行
}
输出:
打印九九乘法表
#include <stdio.h>
int main()
{
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
printf("%d×%d=%d\t", j, i, i * j);
}
printf("\n");
}
return 0;
}
输出:
嵌套循环的执行过程
外层 i=0: 内层 j=0→1→2→3→4 打印 5 个 * 然后换行
外层 i=1: 内层 j=0→1→2→3→4 打印 5 个 * 然后换行
外层 i=2: 内层 j=0→1→2→3→4 打印 5 个 * 然后换行
循环的小套路
💡 求和初始化为 0,求积初始化为 1
break 和 continue
break:跳出当前层循环continue:跳过本次循环的剩余部分,进入下一次
for (i = 0; i < 10; i++) {
if (i == 3) continue; // 跳过 i=3,继续 i=4
if (i == 7) break; // 到 i=7 时直接退出整个循环
printf("%d ", i); // 输出: 0 1 2 4 5 6
}
⚠️
break只跳出它所在的那一层循环。嵌套循环里想跳两层?用goto或设标志变量。