다음 코드의 실행 결과는?
다음 코드의 실행 결과는?
int level = 2;
switch (level) {
case 1:
cout << "Beginner ";
// break 생략
case 2:
cout << "Intermediate ";
// break 생략
case 3:
cout << "Advanced ";
break;
default:
cout << "Unknown";
}
정답: B
⦁ level이 2이므로
case 2:
부터 실행이 시작됩니다⦁ break가 생략되어 "fall-through" 현상이 발생합니다
⦁ 단계별 실행 과정:
1.
case 1:
→ 1 ≠ 2 (건너뜀)2.
case 2:
→ 2 = 2 (일치!) → "Intermediate " 출력3. break가 없으므로 다음 case로 계속 진행
4.
case 3:
→ "Advanced " 출력5. break를 만나면 switch 문 종료
⦁ Fall-through의 특징:
⦁ break 없으면 다음 case도 자동 실행
⦁ 의도적으로 사용하기도 하지만 주로 실수로 발생
⦁ 여러 case를 연속으로 처리할 때 활용
⦁ 최종 출력: "Intermediate Advanced "
⦁ default는 실행되지 않습니다 (이미 일치하는 case를 찾았으므로)
💡 학습 팁
이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.