본문 바로가기
프로그래밍언어/C언어[Error]

[C언어][Error] 034. continue statement not within a loop – continue 문이 반복문 외부에 있음

by about_IT 2025. 4. 27.
728x90

이 오류는 continue 문이 반복문(for, while, do-while) 외부에서 사용되었을 때 발생합니다. C언어에서 continue는 반복문 내부에서 다음 반복으로 넘어가기 위해 사용하는 제어문이므로, 루프 밖에서는 사용할 수 없습니다.


보통 if 문 안이나 일반 코드 블록에서 실수로 continue를 사용했을 때 이 오류가 발생합니다.



● 오류 예제

#include <stdio.h>

int main() {
    int x = 1;

    if (x == 1) {
        continue;  // 오류: 반복문 외부에서 continue 사용
    }

    return 0;
}

컴파일 시 다음과 같은 오류가 출력됩니다.

error: continue statement not within a loop


● 해결 방법

continue는 반복문 내부에서만 사용할 수 있으므로, 해당 문장을 반복문으로 감싸거나, 다른 흐름 제어 문법으로 대체해야 합니다.

#include <stdio.h>

int main() {
    for (int i = 0; i < 3; i++) {
        if (i == 1) {
            continue;  // 유효한 위치
        }
        printf("i = %d\n", i);
    }
    return 0;
}

출력 결과:

i = 0
i = 2


● 실전 팁

  • continue는 반드시 루프 내부에서만 사용해야 하며, 그렇지 않으면 컴파일 오류가 발생합니다.
  • 조건 분기만 필요한 경우에는 continue 대신 if-else 또는 return을 고려해보세요.
  • 코드 흐름이 혼란스럽지 않도록 continue의 위치를 항상 명확히 하세요.

continue는 반복을 제어하는 용도로만 사용 가능한 키워드이므로, 허용된 구조 외에서는 사용하지 않도록 항상 문맥을 확인한 후 사용하는 습관을 들이는 것이 중요합니다.

728x90