문제
다음 C 프로그램의 실행 결과는?
#include <stdio.h> int sum(int n) { if (n <= 0) return 0; return n + sum(n - 1); } int main() { printf("%d", sum(4)); return 0; }
① 4 ② 6 ③ 10 ④ 24
정답
3번
해설
재귀함수로 1부터 n까지의 합을 계산한다. sum(4) = 4 + sum(3) = 4 + (3 + sum(2)) = 4 + 3 + (2 + sum(1)) = 4 + 3 + 2 + (1 + sum(0)) = 4 + 3 + 2 + 1 + 0 = 10이다. ①은 n값 자체, ②는 4+2, ④는 4!의 값이다.