다음 C 프로그램의 출력 결과는?
#include <stdio.h> void func(int *p, int *q) { if (p > q) return; printf("%d ", *p + *q); func(p + 1, q - 1); } int main(void) { int a[] = { 3, 1, 4, 1, 5 }; func(a, a + 4); return 0; }
정답 3번
첫 호출은 a[0]+a[4]=3+5=8, 둘째는 a[1]+a[3]=1+1=2, 셋째는 a[2]+a[2]=4+4=8이다. 따라서 8 2 8이 출력된다.
콘텐츠 정보
- 자료 유형
- 사용자 제공 복원 자료
- 검수 상태
- 문항·보기·해설 편집 확인
- 해설 작성·검수
- 정처LAB 편집팀
- 최종 검수
- 2026-07-26