18. 다음은 C언어 코드의 실행 결과를 적으시오.
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. 변수 초기화
- int ary[3]: 크기가 3인 정수형 배열 ary를 선언합니다.
- int s = 0: 변수 s를 0으로 초기화합니다.
2. 배열 요소 할당
- *(ary + 0) = 1;:
- 배열의 첫 번째 요소, 즉 ary[0]에 1을 할당합니다.
- 결과: ary[0] = 1.
- ary[1] = *(ary + 0) + 2;:
- *(ary + 0)는 ary[0]의 값을 가져오므로 1입니다.
- 따라서, ary[1] = 1 + 2로 3을 할당합니다.
- 결과: ary[1] = 3.
- ary[2] = *ary + 3;:
- *ary는 ary[0]의 값을 가져오므로 1입니다.
- 따라서, ary[2] = 1 + 3로 4를 할당합니다.
- 결과: ary[2] = 4.
3. 배열의 최종 상태
- 배열 ary는 다음과 같은 값들을 가집니다:
- ary[0] = 1
- ary[1] = 3
- ary[2] = 4