모두CBT

21-3아래 C 프로그램의 실행 결과를 적으시오.#include &lt… | 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

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