Инструкция 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:;
}
Ключевые слова
Пример
Запустить этот код
#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 |