모두CBT

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

17

20-4

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

#include <stdio.h>

int main(void) {
    const char *s = "GALAXY";
    printf("%s\n", s + 2);
    printf("%c\n", *(s + 4));
    printf("%s\n", s);
    printf("%c\n", *s + 3);
    printf("%c\n", *s);
    return 0;
}
해설

LAXY
X
GALAXY
J
G


[해설]

s는 문자열 "GALAXY"의 첫 글자를 가리키는 포인터이고, 인덱스는 G0·A1·L2·A3·X4·Y5다. %s는 그 주소부터 널 문자 전까지, %c는 문자 하나만 출력한다.

  • s + 2 — 인덱스 2부터 끝까지 출력해 LAXY.
  • *(s + 4) — 인덱스 4의 문자 X.
  • s — 문자열 전체인 GALAXY.
  • *s + 3 — 'G'에 3을 더한 문자 J.
  • *s — 첫 글자 G.

혼동 주의: *s + 3은 연산자 우선순위상 (*s) + 3이지 *(s + 3)이 아니다. 그래서 인덱스 3의 'A'가 아니라 G→H→I→J가 찍힌다.

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