본문 바로가기

Programming

[정보처리기사] C언어 문제 풀이(4) - 재귀함수

실행 순서

main 함수부터 실행

fn(3) 이므로 int n = 3

printf 에 의해 3 출력

 

if 문 실행, 조건이 참(3>1) 이므로, fn(2) 호출

 

fn(2) 이므로 printf 에 의해 2 출력

if 문 실행, 조건이 참(2>1) 이므로, fn(1) 호출

 

fn(1) 이므로 printf 에 의해 1 출력

if 문 실행, 조건이 거짓(1>1) 이므로 아래 printf에 의해 1 출력

 

fn(1)을 호출했던 부분으로 돌아가 아래 printf에 의해 2 출력

 

fn(2)을 호출했던 부분으로 돌아가 아래 printf에 의해 3 출력

 

fn(3) 으로 돌아가지만, 이후 명령이 없으므로 종료.

 

 

출력

321123

 

 

728x90