Namespaces
Variants

continue statement

From cppreference.net

감싸고 있는 for , while 또는 do-while 루프 본문의 나머지 부분을 건너뛰도록 합니다.

조건문을 사용하여 루프의 나머지 부분을 무시하는 것이 어색한 경우에 사용됩니다.

목차

구문

attr-spec-seq (선택 사항) continue ;
attr-spec-seq - (C23) continue 문에 적용되는 attributes 의 선택적 목록

설명

continue 문은 마치 goto 를 사용한 것처럼 루프 본문의 끝으로 점프를 발생시킵니다 (이 문은 for , while , 그리고 do-while 루프의 본문 내에서만 나타날 수 있습니다).

while 루프의 경우, 다음과 같이 동작합니다

while (/* ... */) {
   // ... 
   continue; // contin:로의 goto처럼 동작함
   // ... 
   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 문 (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