線return((count-2)+(count-1))
如何在cpp
程序下工作? ans給定的代碼是-18。如何知道ans而不運行代碼 和兩個function count(n-2)
和count(n-1)
哪一個先被調用,它是如何決定的?當有2個或更多的遞歸函數被寫入時,程序是如何執行的?
#include <iostream>
using namespace std;
int count(int n);
int main() {
int n, m;
n = 4;
m = count(n);
cout << m;
}
int count(int n)
{
if (n<0)
{
return n;
}
else
{
return (count(n - 2) + count(n - 1));
}
}
對於函數調用的結果,評估順序無關緊要。 –
@ manni66不是在這種情況下,但如果某個全局狀態隨每個方法調用而改變並影響返回值會怎麼樣呢? –
@DavidEtler這是另一個問題。一般來說:不要這樣做。 –