21-3아래 C 프로그램의 실행 결과를 적으시오.#include <… | 2021년 정보처리기사실기 3회차 기출문제 상세 페이지
11
21-3
아래 C 프로그램의 실행 결과를 적으시오.
#include <stdio.h>
int main(void) {
int x = 15, y = 40, z = 7;
int *ptr[3];
ptr[0] = &y;
ptr[1] = &z;
ptr[2] = &x;
printf("%d\n", **ptr - *ptr[2] * 2 + 3);
return 0;
}해설
13
[해설]
ptr은 int 포인터 3개를 담는 포인터 배열로, ptr[0]=&y, ptr[2]=&x이다.
- **ptr — 배열 이름 ptr은 &ptr[0]으로 바뀌므로 *ptr=ptr[0], **ptr=y=40이다.
- *ptr[2] — 첨자 []가 *보다 먼저 적용돼 *(ptr[2])=x=15이다.
곱셈이 뺄셈보다 먼저 계산된다.
40 − 15 × 2 + 3 = 40 − 30 + 3 = 13
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.