C continue 基本使用
在 C 语言中,我们可以使用 continue 语句退出 “本次” 循环。continue 语句只能用于循环语句(包括 while 循环、do...while 循环、for 循环),而不能用于其他地方。
示例 1:continue 用于 while 循环
#include <stdio.h>
int main(void)
{
int i = 0;
int n = 5;
while (i < 10)
{
i++;
if (i == n)
{
continue;
}
else
{
printf("%d\n", i);
}
}
return 0;
}运行结果如下。
1
2
3
4
6
7
8
9
10分析:
i 的取值范围是 1 ~ 10,所以循环应该执行 10 次才对。当执行第 5 次时,i 的值为 5,此时 i == n 会返回真,然后就会执行 continue 语句,此时就会直接退出 “本次” 循环了。
continue 语句只会退出 “本次” 循环,并不会退出 “本层循环”。此时还会执行后面的第 6、7、...、10 次循环。所以从运行结果可以看出,输出并没有 5。
注意: continue 退出的是 “本次” 循环,而 break 退出的是 “本层” 循环。
示例 2:continue 用于 for 循环
#include <stdio.h>
int main(void)
{
for (int i = 1; i <= 10; i++)
{
// 如果 i 是偶数,则跳过本次循环的剩余部分
if (i % 2 == 0)
{
continue;
}
printf("%d\n", i);
}
return 0;
}运行结果如下。
1
3
5
7
9分析:
当 i 是偶数时,continue 语句被执行,此时 printf("%d\n", i); 这行代码被跳过,直接进入下一次循环(i 自增)。
示例 3:continue 用于 do...while 循环
#include <stdio.h>
int main(void)
{
int i = 0;
int n = 5;
do
{
i++;
if (i == n)
{
continue;
}
printf("%d\n", i);
} while (i < 10);
return 0;
}运行结果如下。
1
2
3
4
6
7
8
9
10分析:
当 i 等于 5 时,continue 语句导致本次循环的 printf() 语句被跳过,然后程序直接判断 while 的条件是否继续下一次循环。
C continue 流程图
在 C 语言中,对于 continue 语句,我们可以使用下图的流程图来展示。

