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