더북(TheBook)

이 프로그램의 실행 흐름은 92쪽의 재귀에서 다룬 countdown의 흐름과 비슷하다. factorial을 값 3과 함께 호출한다면,

30이 아니므로 두 번째 분기를 타고 n-1팩토리얼을 계산한다...

20이 아니므로 두 번째 분기를 타고 n-1의 팩토리얼을 계산한다...

10이 아니므로 두 번째 분기를 타고 n-1의 팩토리얼을 계산한다...

00과 같으므로 첫 번째 분기를 타고 재귀 호출을 하지 않고 1을 반환한다.

반환값 1n으로 곱한다. 여기서 n1이다. 결과를 반환한다.

반환값 1n으로 곱한다. 여기서 n2이다. 결과를 반환한다.

반환값 2n으로 곱한다. 여기서 n3이다. 결과 6은 전체 과정을 시작한 함수 호출의 반환값이 된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.