문제
다음 C 코드의 실행 결과를 쓰시오.
C#include <stdio.h> void func(int n) { if (n <= 0) return; func(n - 2); printf("%d ", n); func(n - 3); } int main() { func(6); return 0; }
정답
2 4 1 6 1 3
2 4 1 6 1 3
해설
func(6): func(4) → print 6 → func(3) func(4): func(2) → print 4 → func(1) func(2): func(0) → print 2 → func(-1) → 출력: 2 print 4 → 출력: 4 func(1): func(-1) → print 1 → func(-2) → 출력: 1 print 6 → 출력: 6 func(3): func(1) → print 3 → func(0) func(1): func(-1) → print 1 → func(-2) → 출력: 1 print 3 → 출력: 3 최종 출력: 2 4 1 6 1 3