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]과 같다는 점이 핵심이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.