다음 while 루프에서 빈칸에 들어갈 내용은?

목표: 0 1 2 3 4 6 7 8 9

과목: C++

문제 번호: 3429

hard
다음 while 루프에서 빈칸에 들어갈 내용은?
int i = 0;
while (i < 10) {
    if (i == 5) {
        _____;
        continue;
    }
    cout << i << " ";
    i++;
}

목표: 0 1 2 3 4 6 7 8 9 출력 (5만 건너뛰기)
A. i++
B. i--
C. break
D. i = i + 2

정답: A



while 루프에서 continue 사용 시 주의사항을 이해하는 문제입니다.

⦁ 문제 상황: continue 전에 증감식이 필요한 이유

⦁ while 루프의 특성:
⦁ for 루프: continue 시 자동으로 증감식 실행
⦁ while 루프: 수동으로 증감식을 처리해야 함

⦁ 빈칸이 없다면 어떻게 될까?:
if (i == 5) {
    continue;  // i는 여전히 5
}

⦁ i가 5인 상태에서 continue 실행
⦁ 다시 while 조건 검사: 5 < 10 (참)
⦁ 다시 if 조건: i == 5 (참) → 또 continue
⦁ 무한 루프 발생!

⦁ 올바른 해결:
if (i == 5) {
    i++;        // i를 6으로 만들어서
    continue;   // 무한 루프 방지
}

⦁ 실행 과정:
1. i=0~4: 정상 출력 후 i++ 실행
2. i=5: i++로 6이 됨 → continue → 출력 건너뛰기
3. i=6~9: 정상 출력 후 i++ 실행

💡 학습 팁

이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.