다음 C 프로그램의 출력값은?
#include <stdio.h>
#include <stddef.h>
int main(void) {
int a[] = {2, 4, 6, 8, 10};
int *p = &a[1];
int result = (int)(&a[4] - p) + *p + 1;
printf("%d", result);
return 0;
}정답 3번
p는 a[1]을 가리키므로 *p는 4다. 같은 배열 안에서 &a[4] - &a[1]은 원소 거리 3이고, result는 3 + 4 + 1 = 8이다. 따라서 프로그램은 8을 출력하며 ③이 정답이다.
콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-09