• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

재귀함수 질문

22.02.01 00:05 작성 조회수 170

2

강의 잘 듣고 있습니다! 

한가지 질문이 있는데, 

countDown(int n) 함수에서, 

재귀 호출을 통해 5부터 0까지

출력이 되는 부분은 이해를 하였는데,

그 뒤로 0번째 재귀함수 ~ 5번째 재귀함수가 

역순으로 출력되는 이유를 잘 모르겠습니다.

n이 0이 되기 전까지 "Counting . . . n " 출력이

계속 반복되고, 

n이 0이 되면, 조건문을 지나쳐 "0번째 재귀함수" 

가 한번 출력이 되고 함수가 종료되는게 아닌가요??

 

답변 4

·

답변을 작성해보세요.

1

김산하님의 프로필

김산하

2022.03.20

if문 밖에 있는데 왜 증가하는지 모르겟어요 ㅠ

if문 안에서의 재귀 호출이 모두 끝나고,

함수안에 남은 코드가 실행된 것입니다 :)

0

Ambition님의 프로필

Ambition

2022.09.09

n>0까지는 재귀함수를 계속 호출하여 지역변수에 스택이 쌓이게 됩니다. 그리고 n이 0보다 작거나 같으면 가장 나중에 쌓인 0부분이 먼저 실행되게 됩니다.(Last in, Frist out) 그러니까 #code2부분은 역순으로 실행되는 것이죠

0

전우성님의 프로필

전우성

2022.08.11

link2019오류가 뜨는데 어떻게 해야 되나요??

 

0

cout << n << "번째 재귀함수" << endl;

구문은 if문 밖에 있습니다!