20-4아래 C 프로그램의 실행 결과를 적으시오.#include <… | 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가 찍힌다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.