close
Пространства имён
Варианты
Действия

Инструкция 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:;
}

Ключевые слова

continue

Пример

#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