continue语句
来自cppreference.com
导致跳过整个 for、 while 或 do-while 循环体的剩余部分。
在使用条件语句忽略循环剩余部分显得笨拙时使用。
语法
属性说明符序列(可选) continue ;
|
||
| 属性说明符序列 | - | (C23)可选的属性列表,应用到 continue 语句
|
解释
continue 语句导致如同用 goto 跳转到循环体的结尾(它仅能出现在 for、 while 及 do-while 的循环体内)。
对于 while 循环,它表现为
while (/* ... */) {
// ...
continue; // 表现为 goto contin;
// ...
contin:;
}
对于 do-while 循环,它表现为:
do {
// ...
continue; // 表现为 goto contin;
// ...
contin:;
} while (/* ... */);
对于 for 循环,它表现为:
for (/* ... */) {
// ...
continue; // 表现为 goto contin;
// ...
contin:;
}
关键词
示例
Run this code
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 10; i++) {
if (i != 5) continue;
printf("%d ", i); // 每次 i != 5 时跳过此语句
}
printf("\n");
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 5; k++) { // 只有此循环受 continue 影响
if (k == 3) continue;
printf("%d%d ", j, k); // 每次 k == 3 时跳过此语句
}
}
}
输出:
5
00 01 02 04 10 11 12 14
引用
- C17 标准(ISO/IEC 9899:2018):
- 6.8.6.2 The continue statement (第 111 页)
- C11 标准(ISO/IEC 9899:2011):
- 6.8.6.2 The continue statement (第 153 页)
- C99 标准(ISO/IEC 9899:1999):
- 6.8.6.2 The continue statement (第 138 页)
- C89/C90 标准(ISO/IEC 9899:1990):
- 3.6.6.2 The continue statement
参阅
continue 语句的 C++ 文档 |