모두CBT

24-2아래 C 프로그램이 출력하는 값을 적으시오.#include &l… | 2024년 정보처리기사실기 2회차 기출문제 상세 페이지

5

24-2

아래 C 프로그램이 출력하는 값을 적으시오.

#include <stdio.h>

int main(void) {
    int m[3][4] = {{2, 4, 6, 8}, {1, 3, 5, 7}, {9, 10, 11, 12}};
    int *row[2] = {m[2], m[0]};
    printf("%d", row[0][3] + *(row[1] + 1) - **row + *row[1]);
    return 0;
}
해설

9


[해설]

row는 포인터 배열로, row[0]은 m[2] 행의 시작, row[1]은 m[0] 행의 시작을 가리킨다.

  • row[0][3] = m[2][3] = 12
  • *(row[1] + 1) = m[0][1] = 4
  • **row = *row[0] = m[2][0] = 9
  • *row[1] = m[0][0] = 2

12 + 4 − 9 + 2 = 9다. **row는 row[0][0]과 같다는 점이 핵심이다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.