다음 C 프로그램의 출력 결과는?
#include <stdio.h>
int recursive(int n)
{
int sum;
if (n > 2) {
sum = recursive(n - 1) + recursive(n - 2);
printf("%d ", sum);
} else {
sum = n;
}
return sum;
}
int main(void)
{
int result;
result = recursive(5);
printf("%d", result);
return 0;
}정답 4번
recursive(3)은 2+1=3을 출력하고 3을 반환합니다. recursive(4)는 내부에서 3을 출력한 뒤 3+2=5를 출력합니다. recursive(5)는 recursive(4) 다음 recursive(3)을 다시 호출하므로 출력 순서는 3, 5, 3, 8이 됩니다. 마지막으로 main이 반환값 8을 출력하여 최종 결과는 `3 5 3 8 8`입니다.
콘텐츠 정보
- 자료 유형
- 공개 기출
- 검수 상태
- 자동 검사 완료
- 해설 작성·검수
- 정처LAB 자동 검사
- 최종 검수
- 자동 검사 완료