c语言中continue什么意思

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 C语言 正文

continue 的作用是立即结束当前这次循环迭代,并直接跳转到下一次循环迭代的开始处。

c语言中continue什么意思
(图片来源网络,侵删)

详细解释

你可以把 continue 想象成在循环中说:“这次算了,跳过,直接开始下一次吧!

它只会在 forwhiledo-while 这三种循环结构内部使用。

continue 的工作流程

  1. 当程序执行到循环体内的 continue 语句时。
  2. 程序会立即停止执行 continue 语句之后的所有代码。
  3. 程序的控制权会直接跳转到循环的“更新”部分(对于 for 循环)或者“条件判断”部分(对于 whiledo-while 循环)。
  4. 如果循环条件仍然为真,则开始下一次迭代。

continue 在不同循环中的具体行为

for 循环中

for 循环中,continue 会跳过循环体中剩余的代码,然后直接执行for 循环的第三个表达式(增量/更新表达式),接着判断循环条件。

语法结构:

c语言中continue什么意思
(图片来源网络,侵删)
for (初始化; 条件; 更新) {
    // 循环体代码...
    if (某个条件) {
        continue; // 跳到这里,直接执行 "更新" 部分
    }
    // continue 被执行,这里的代码就不会被执行
    // ...
}

while 循环中

while 循环中,continue 会跳过循环体中剩余的代码,然后直接跳回while 的条件判断部分。

语法结构:

while (条件) {
    // 循环体代码...
    if (某个条件) {
        continue; // 跳到这里,直接判断 "条件"
    }
    // continue 被执行,这里的代码就不会被执行
    // ...
}

do-while 循环中

do-while 循环中,continue 的行为与 while 类似,它会跳过剩余代码,然后直接跳回while 的条件判断部分。

语法结构:

c语言中continue什么意思
(图片来源网络,侵删)
do {
    // 循环体代码...
    if (某个条件) {
        continue; // 跳到这里,直接判断 "条件"
    }
    // continue 被执行,这里的代码就不会被执行
    // ...
} while (条件);

代码示例

通过例子可以更清晰地理解 continue 的作用。

示例1:跳过偶数

打印 1 到 10 之间的所有奇数。

#include <stdio.h>
int main() {
    printf("打印 1 到 10 之间的奇数:\n");
    for (int i = 1; i <= 10; i++) {
        // i 是偶数 (即 i % 2 == 0)
        if (i % 2 == 0) {
            continue; // 跳过本次循环的剩余部分,直接进入下一次循环
        }
        // 只有当 i 是奇数时,这行代码才会被执行
        printf("%d\n", i);
    }
    return 0;
}

执行过程分析:

  1. i = 1: 1 % 2 != 0if 条件不成立,不执行 continue,打印 1
  2. i = 2: 2 % 2 == 0if 条件成立,执行 continue跳过 printf,直接执行 i++
  3. i = 3: 3 % 2 != 0if 条件不成立,不执行 continue,打印 3
  4. ... 以此类推,直到 i = 10

输出结果:

打印 1 到 10 之间的奇数:
1
3
5
7
9

continuebreak 的关键区别

初学者很容易混淆 continuebreak,它们虽然都能改变正常的执行流程,但效果完全不同。

特性 continue break
作用 结束本次循环迭代,继续下一次迭代。 完全跳出整个循环,循环终止。
位置 只在循环体内使用。 switch 语句和循环体内使用。
比喻 “这次作业不做了,做下一题。” “整个考试不考了,我要交卷走人。”

对比示例:

#include <stdio.h>
int main() {
    printf("--- 使用 continue ---\n");
    for (int i = 1; i <= 5; i++) {
        if (i == 3) {
            continue; // 当 i=3 时,跳过本次循环
        }
        printf("continue: i = %d\n", i);
    }
    printf("\n--- 使用 break ---\n");
    for (int i = 1; i <= 5; i++) {
        if (i == 3) {
            break; // 当 i=3 时,跳出整个循环
        }
        printf("break:   i = %d\n", i);
    }
    return 0;
}

输出结果:

--- 使用 continue ---
continue: i = 1
continue: i = 2
continue: i = 4
continue: i = 5
--- 使用 break ---
break:   i = 1
break:   i = 2

从结果可以看出,continue 只是跳过了 i=3 的那次打印,而 break 则在 i=3 时彻底终止了循环。


  • continue 用于跳过循环体中剩余的代码,直接开始下一次迭代。
  • 它是控制流程的工具,常用于根据特定条件来过滤或处理循环中的数据。
  • 一定要分清 continue(继续下一次)和 break(完全跳出)的区别,这是写出正确逻辑的关键。
-- 展开阅读全文 --
头像
dede后台网站名称为何无法保存?
« 上一篇 2025-12-23
织梦怎样添加nofollow
下一篇 » 2025-12-23

相关文章

取消
微信二维码
支付宝二维码

目录[+]