다음 C 프로그램의 출력값은?
#include <stdio.h>
void change(int *p, int n) {
for (int i = 0; i < n; i++)
*(p + i) += i;
p[0] = p[1] + p[2];
}
int main(void) {
int a[] = {2, 4, 6};
change(a, 3);
printf("%d", a[0] + a[2]);
return 0;
}정답 4번
반복문 뒤 배열은 {2,5,8}이다. 이어 p[0]에 p[1]+p[2]=13을 저장해 {13,5,8}이 된다. 배열 주소가 함수에 전달되어 원본이 바뀌므로 출력은 13+8=21이다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-16