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

[정보처리기사 실기] 2021년 2회 18 - 프로그래밍 [C] 포인터

Ayel 2025. 7. 17. 08:24

 

 


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

#include <stdio.h>
int main() {
	int ary[3];
    int s = 0;
    *(ary+0) = 1;
    ary[1] = *(ary+0) + 2;
    ary[2] = *ary +3;
    for(int i=0; i<3; i++)
    	s = s + ary[i];
    printf(""%d", s);
}

 

 

 

 

 

 

해설

코드 실행순서 및 해석
1 #include <stdio.h>    
2 int main() {    
3     int ary[3]; 1 정수의 배열 ary[3] 선언
4     int s = 0; 2 정수 s를 선언하고 0으로 초기화
5     *(ary+0) = 1; 3 a[0]에 1을 넣어라
6     ary[1] = *(ary+0) + 2; 4 ary[1]에 *(ary+0)의 값에 2를 더해 넣어라
1+2=3
7     ary[2] = *ary +3; 5 ary[2]에 배열이 시작하는 위치값 ary[0]의 값에 3을 더해 넣어라
1+3=4
8     for(int i=0; i<3; i++) 6 i가 3보다 작을때까지 반복 실행
9           s = s + ary[i]; 7 s에 ary[i]값을 더해 넣는다
10     printf(""%d", s); 8 s값 출력
11 }    

 

ary[3] [0] [1] [2]
ary+0 ary+1 ary+2
1 3 4

 

i s s+ary[i]
0 0 0+ary[0]=0+1=1
1 1 1+ary[1]=1+3=4
2 4 4+ary[2]=4+4=8
3 종료 - -