재귀 함수는 printCountRec (dist-1) + printCountRec (dist-2)를 어떻게 반환합니까? 다음 코드에서 작동합니다. 내 논리에 의해 printCountRec (dist-1) 함수 호출은 1을 반환하고 printCountRec (dist-2)는이 두 값을 더하여 0을 반환 할 것이고, 대답은 1 + 0 ie 1이어야하지만 3으로 응답을 얻고있다. 나는 그렇지 않다. 점점.2 재귀 함수의 추가 작동 방법
거리 계산 방법 : 이것은 내가 당신의 재귀 다음있어 어떻게
#include <iostream>
using namespace std;
int printCountRec(int dist)
{
// Base cases
if (dist<0) return 0;
else if (dist==0) return 1;
// Recur for all previous 3 and add the results
else return printCountRec(dist-1) + printCountRec(dist-2);
}
int main()
{
int dist = 3;
cout << printCountRec(dist);
return 0;
}
왜 이것을 C로 태그 했습니까? 이것은 유효한 C 코드가 아닙니다. 그리고 디버거를 사용하는 방법을 배우고 코드를 실행하여 무엇을하는지 이해해야합니다. – UnholySheep
디버거를 사용하여 코드를 단계별로 실행해야하는 것처럼 들립니다. 그러면 프로그램 흐름이 정확하게 표시됩니다. – NathanOliver