#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; ++i) {
if (i == 3) {
break;
}
cout << i << endl;
}
return 0;
}
실행 결과
1
2
루프는 i 값을 출력하다가 i가 3이 되면 멈춥니다. i == 3 조건 충족 시 break가 루프를 종료시켜 추가 출력을 막습니다.
팁: 조건문 안에서 break를 써서 특정 상태 도달 시 루프를 조기 종료하세요.
예제 2: while 루프 안에서 break
#include <iostream>
using namespace std;
int main() {
int number, sum = 0;
while (true) {
cout << "Enter a number: ";
cin >> number;
if (number < 0) {
break;
}
sum += number;
}
cout << "The sum is " << sum << endl;
return 0;
}
실행 결과
Enter a number: 1
Enter a number: 2
Enter a number: 3
Enter a number: -5
The sum is 6.
무한 while 루프가 사용자 음수 입력 시 즉시 종료. 양수만 sum에 누적.
중첩 루프에서 break 사용
중첩 루프 내부에서 break는 **가장 안쪽 루프만 종료**합니다. 바깥쪽 루프는 정상 계속됩니다.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 3; ++i) {
for (int j = 1; j <= 3; ++j) {
if (i == 2) {
break; // 내부 루프만 탈출
}
cout << "i = " << i << ", j = " << j << endl;
}
}
return 0;
}
실행 결과
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3
if (i == 2) 조건에서 break가 내부 루프만 멈추므로, i가 2인 모든 반복이 출력에서 제외됩니다.
break 키워드는 switch 문에서도 폴스루(fall-through) 방지에 중요한 역할을 합니다. 자세한 내용은 C++ switch 문을 참조하세요.