continue 문이 C++ 루프에서 어떻게 동작하는지 for, while, 중첩 루프 예제로 명확히 설명합니다.
C++ 프로그래밍에서 continue 키워드는 루프에게 **현재 반복의 나머지 코드를 건너뛰고** 즉시 다음 반복을 위한 루프 조건이나 갱신 식을 평가하라고 지시합니다.
문법은 단순합니다:
continue;
continue 학습 전 다음을 숙지하세요:
C++ for 루프
C++ if / else 문
C++ while 루프
continue의 C++ 동작 원리
예제 1: for 루프에서 continue 사용
for 루프에서 continue는 현재 반복을 건너뛰고 바로 갱신 식으로 점프합니다.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; ++i) {
if (i == 3) {
continue; // i가 3일 때 출력 건너뜀
}
cout << i << endl;
}
return 0;
}
실행 결과
1
2
4
5
해설:
i가 3일 때 continue가 cout 문 건너뜀
루프는 i를 4로 증가시키고 다음 반복 진행
결과적으로 1, 2, 4, 5만 출력
팁:continue는 조건 로직과 결합할 때 가장 효과적입니다.
예제 2: while 루프에서 continue 사용
while 루프에서 continue는 루프의 조건 검사로 제어를 되돌립니다.
#include <iostream>
using namespace std;
int main() {
int sum = 0, number = 0;
while (number >= 0) {
sum += number; // 양수 누적
cout << "Enter a number: ";
cin >> number;
if (number > 50) {
cout << "The number is greater than 50 and won't be calculated." << endl;
number = 0; // 프롬프트 계속 위해 리셋
continue; // 이번 루프 사이클 나머지 건너뜀
}
}
cout << "The sum is " << sum << endl;
return 0;
}
실행 예시
Enter a number: 12
Enter a number: 0
Enter a number: 2
Enter a number: 30
Enter a number: 50
Enter a number: 56
The number is greater than 50 and won't be calculated.
Enter a number: 5
Enter a number: -3
The sum is 99
핵심 포인트:
50 초과 숫자 입력 시 continue 발동, 덧셈 건너뛰고 재입력 유도
음수 입력 시 루프 종료
참고: 같은 로직이 do…while 루프에도 적용됩니다.
중첩 루프에서 continue 사용
중첩 루프 내부에서 continue는 **가장 안쪽 루프만** 영향을 줍니다.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 3; ++i) {
for (int j = 1; j <= 3; ++j) {
if (j == 2) {
continue; // 이번 i에 대해 j==2 건너뜀
}
cout << "i = " << i << ", j = " << j << endl;
}
}
return 0;
}
실행 결과
i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3
continue 문은 j == 2인 내부 루프 반복을 건너뛰고 다음 j 값으로 점프합니다.
기억하세요:break는 루프 전체를 종료하지만, continue는 현재 반복만 건너뜁니다.