좋아, 나는 C ++로 뛰어 드는 책을 읽고 있고 재귀에 관한 16 장을 성공적으로 만들었다. 나는 챕터를 읽고 유튜브 비디오를 거의 보지 않았기 때문에 어떻게 작동하는지 알 것 같습니다. 그러나 책에 나와있는이 코드를 이해하려고했을 때 실패했습니다. 내 이해에 따르면이 코드 는 1234567899를 인쇄해야합니다 . 이해할 수없는 줄 / 섹션에 대해 설명했습니다. 내 의심을 완전히 없애고 싶기 때문에 설명 할 때 매우 설명해주세요.
#include <iostream>
using namespace std;
void printNum (int num)
{
cout << num ;
if ( num < 9 )
{
printNum( num + 1 ); //if statement should continue untill 123456789 prints on screen
}
cout << num; // this should print only 9 and after that program should exit.
}
int main ()
{
printNum( 1 );
}
마지막 은를 호출 cout << num
할 때마다 인쇄 됩니다 printNum
. printNum
반복적으로 9 번 호출됩니다. 이것이 두 번째 의견 this should print only 9...
이 완전히 정확하지 않은 이유 입니다. , yes에 9
대해 인쇄 printNum(9)
되지만 8
나중에 printNum(8)
, 등에 대해 인쇄됩니다 .
printNum
종료 후 프로그램 제어는의 이전 호출로 리턴됩니다 printNum
. 따라서, 예를 들어 printNum(9)
완료 후 마지막에 printNum(8)
두 번째 인쇄로 돌아갑니다 8
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다