2024 국가직9급 컴퓨터일반 20번 해설 — C 재귀

정답 ④번출제 쟁점 C 재귀발문 옳은 것 고르기

문제

다음 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; }

  1. 1 2 3 5 7
  2. 1 3 5 7 9
  3. 3 3 5 9 9
  4. 3 5 3 8 8 ← 정답

선지별 해설

1 2 3 5 7

이 선지 진술은 틀림(X)

n이 2 이하일 때는 출력 없이 값을 반환하고, n이 3 이상일 때만 합계를 출력한다. 실제 출력 순서는 3 5 3 8 8이다.

1 3 5 7 9

이 선지 진술은 틀림(X)

recursive(3)이 처음 출력하는 값은 3이고, recursive(4)는 5를 출력한다. 전체 출력은 3 5 3 8 8이다.

3 3 5 9 9

이 선지 진술은 틀림(X)

재귀 호출 순서상 recursive(4) 안에서 3과 5가 출력되고, recursive(5)의 오른쪽 recursive(3)이 다시 3을 출력한다. 최종 출력은 3 5 3 8 8이다.

3 5 3 8 8

이 선지 진술은 옳음(O)

recursive(5)는 recursive(4), recursive(3) 순으로 호출해 중간 합계를 출력한다. 내부 출력 3 5 3 뒤에 main에서 최종 결과 8이 출력되어 3 5 3 8 8이 된다.

핵심 요약 (Q&A)

Q. 2024 국가직9급 컴퓨터일반 20번의 핵심 쟁점은 무엇인가?
A. 2024 국가직9급 컴퓨터일반 20번은 C 재귀에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
Q. 2024 국가직9급 컴퓨터일반 20번의 정답은?
A. 정답은 ④번입니다. recursive(5)는 recursive(4), recursive(3) 순으로 호출해 중간 합계를 출력한다. 내부 출력 3 5 3 뒤에 main에서 최종 결과 8이 출력되어 3 5 3 8 8이 된다.
🧩 프로그래밍 개념·기출 모아보기📄 2024 국가직9급 컴퓨터일반 전체 문항✏️ 이 시험 미니문제 풀기
출처: 2024 국가직9급 컴퓨터일반 기출 (원문 보존)해설 기준: 출제 당시 법령·판례 · 개정 사항은 ⚠️ 표시