다음 C 프로그램의 수행 결과는? (단, 배열 및 포인터 배열, 포인터-포인터 변수들이 메모리에 할당된 모습은 아래 그림과 같다고 가정한다)
#include <stdio.h>
void main() {
short x[2][2] = {{1,2},{3,4}};
short *px[2]; //포인터 배열
short **ppx; //포인터-포인터 변수
px[0] = x[0]; px[1] = x[1];
ppx = px;
printf("%10u %10u %10u \n", px[0], px[1], ppx);
printf("%10u %10u %10u \n", px[0]+1, px[1]+1, ppx+1);
printf("%10u %10u \n", *(++px[0]), *(++ppx));
}
- ①100 104 108 / 102 106 112 / 2 104
- ②100 104 108102 106 1121 100
- ③100 104 108 / 101 105 109 / 2 104
- ④100 104 108101 105 1091 100
선지를 골라 바로 채점해 보세요.
정답 ①
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)