continue statement
Вызывает пропуск оставшейся части тела объемлющего цикла for , while или do-while .
Используется, когда неудобно игнорировать оставшуюся часть цикла с помощью условных операторов.
Содержание |
Синтаксис
attr-spec-seq
(необязательно)
continue
;
|
|||||||||
| attr-spec-seq | - |
(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:; }
Ключевые слова
Пример
#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 Оператор continue (стр: 111)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 6.8.6.2 Оператор continue (стр: 153)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 6.8.6.2 Оператор continue (стр: 138)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 3.6.6.2 Оператор continue
Смотрите также
|
Документация C++
для
continue
statement
|