다음 코드에서 빈칸에 들어갈 올바른 반복문 구조는 무엇인가요?

과목: C++

문제 번호: 3446

medium
다음 코드에서 빈칸에 들어갈 올바른 반복문 구조는 무엇인가요?
int numbers[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};

// 모든 원소를 출력하는 반복문
for (int i = 0; i < 3; i++) {
    for (______) {
        cout << numbers[i][j] << " ";
    }
}
A. int j = 0; j <= 4; j++
B. int j = 0; j < 4; j++
C. int j = 1; j < 4; j++
D. int j = 0; j < 3; j++

정답: B



2차원 배열을 순회하려면 각 차원에 대해 별도의 반복문이 필요합니다.

반복문 구조 분석:
⦁ 외부 반복문: for (int i = 0; i < 3; i++) - 행을 순회
⦁ 내부 반복문: for (int j = 0; j < 4; j++) - 열을 순회

각 선택지 검토:

1번 j <= 4 - 범위 초과:
⦁ j가 4일 때 numbers[i][4]에 접근하게 됩니다.
⦁ 유효한 열 인덱스는 0, 1, 2, 3이므로 배열 범위를 벗어납니다.

2번 j < 4 - 올바른 조건:
⦁ j가 0, 1, 2, 3일 때만 반복됩니다.
⦁ 모든 유효한 열 인덱스를 정확히 커버합니다.

3번 j = 1 - 첫 번째 열 누락:
⦁ 첫 번째 열(인덱스 0)을 건너뜁니다.
⦁ 각 행의 첫 번째 원소가 출력되지 않습니다.

4번 j < 3 - 마지막 열 누락:
⦁ 마지막 열(인덱스 3)이 출력되지 않습니다.
⦁ 4개 열 중 3개만 처리됩니다.

실행 결과:
1 2 3 4 5 6 7 8 9 10 11 12

💡 학습 팁

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