모두CBT

25-3아래 C 프로그램의 실행 결과를 적으시오.#include &lt… | 2025년 정보처리기사실기 3회차 기출문제 상세 페이지

11

25-3

아래 C 프로그램의 실행 결과를 적으시오.

#include <stdio.h>

struct Card {
    int hop;
    const char *word;
};

int main(void) {
    struct Card deck[] = {{3, "LAMP"}, {1, "SNOW"}, {1, "KITE"}, {2, "RAIN"}};
    struct Card *c = deck + 2;
    printf("%s", c->word + c->hop * 2);
    return 0;
}
해설

TE


[해설]

c는 deck + 2, 즉 세 번째 원소 {1, "KITE"}를 가리킨다.

  • c->hop * 2 = 1 × 2 = 2
  • c->word + 2는 "KITE"의 인덱스 2('T') 위치를 가리키는 포인터
  • %s는 그 위치부터 널 문자 전까지 출력한다.

따라서 TE가 출력된다. 포인터에 정수를 더하면 그 자료형 크기만큼 주소가 이동하며, char 포인터는 한 글자씩 이동한다.

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