자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2020년 4회 10 - 프로그래밍 [C]

쏠솔랄라 2025. 7. 14. 11:05

 

 


10 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include <stdio.h>
main() {
	char* p = "KOREA";
    printf("%s\n", p);
    printf("%s\n", p+3);
    printf("%c\n", *p);
    printf("%c\n", *(p+3));
    printf("%c\n", *p+2);
}

 

 

 

더보기

KOREA

EA

K

E

M

 

 

 

 

해설

코드 실행순서 및 해석
1 #include <stdio.h>    
2 main() {    
3     char* p = "KOREA";    
4     printf("%s\n", p);   %s 출력서식: 문자열 출력
p위치부터 시작해 문자열을 전부 출력
-> 출력: KOREA
\n 줄바꿈
5     printf("%s\n", p+3);   %s 출력서식: 문자열 출력
p+3부터 시작해 문자열 전부 출력
-> 출력: EA
\n 줄바꿈
6     printf("%c\n", *p);   %c 출력서식: 문자 출력
p가 가리키는 문자 출력
-> 출력: K
\n 줄바꿈
7     printf("%c\n", *(p+3));   %c 출력서식: 문자 출력
p+3이 가리키는 문자 출력
-> 출력: E
\n 줄바꿈
8     printf("%c\n", *p+2);   %c 출력서식: 문자 출력
p가 가리키는 문자에 아스키코드값을 2를 더한 문자를 출력
-> K(75)+2 -> KLM(77)
-> 출력: M
\n 줄바꿈
9 }    

 

주소 메모리
0000 0000  
...  
0015 FC40 1byte 1byte 1byte 1byte 1byte 1byte
... K
75
O
79
R
82
E
69
A
66
\0
... p p+1 p+2 p+3 p+4 p+5
  0015 FC40 0015 FC41 0015 FC42 0015 FC43 0015 FC44 0015 FC45
...  
FFFF FFFF