모두CBT

다음 C언어 프로그램이 실행되었을 때, 실행 결과는?      상세 페이지

122년-1회차-정보처리기사-필기
다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
     
문제 이미지
     
1
7, 5
2
8, 5
 
3
8, 9
4
7, 9
 
해설

arr[2][3]={1,2,3,4,5,6}이므로 arr[0]={1,2,3}, arr[1]={4,5,6}이고, int(*p)[3]=arr로 p는 각 행(3개짜리 배열)을 가리키는 포인터다.
*(p[0]+1)은 arr[0][1]=2, *(p[1]+2)는 arr[1][2]=6이므로 첫 줄 출력은 2+6=8이다.
*(*(p+1)+0)은 arr[1][0]=4, *(*(p+1)+1)은 arr[1][1]=5이므로 둘째 줄 출력은 4+5=9이며, 결과는 8, 9이다.

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