continue 语句
来自 cppreference.com
导致跳过封闭的 for、while 或 do-while 循环体的剩余部分。
当使用条件语句来忽略循环的剩余部分很笨拙时使用。
内容 |
[编辑] 语法
attr-spec-seq(可选) continue ; |
|||||||||
attr-spec-seq | - | (C23)可选的 属性 列表,应用于 continue 语句 |
[编辑] 解释
continue
语句会导致跳转,就好像使用 goto 一样,跳转到循环体的末尾(它只能出现在 for、while 和 do-while 循环的循环体中)。
对于 while 循环,它起作用如下
while (/* ... */) { // ... continue; // acts as goto contin; // ... contin:; }
对于 do-while 循环,它起作用如下
do { // ... continue; // acts as goto contin; // ... contin:; } while (/* ... */);
对于 for 循环,它起作用如下
for (/* ... */) { // ... continue; // acts as goto contin; // ... contin:; }
[编辑] 关键字
[编辑] 示例
运行这段代码
#include <stdio.h> int main(void) { for (int i = 0; i < 10; i++) { if (i != 5) continue; printf("%d ", i); // this statement is skipped each time i != 5 } printf("\n"); for (int j = 0; j < 2; j++) { for (int k = 0; k < 5; k++) { // only this loop is affected by continue if (k == 3) continue; printf("%d%d ", j, k); // this statement is skipped each time k == 3 } } }
输出
5 00 01 02 04 10 11 12 14
[编辑] 参考资料
- C17 标准 (ISO/IEC 9899:2018)
- 6.8.6.2 continue 语句 (p: 111)
- C11 标准 (ISO/IEC 9899:2011)
- 6.8.6.2 continue 语句 (p: 153)
- C99 标准 (ISO/IEC 9899:1999)
- 6.8.6.2 continue 语句 (p: 138)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 3.6.6.2 continue 语句
[编辑] 另请参阅
C++ 文档 for
continue 语句 |