#include <stdio.h>
int main() {
int c;
c = f(3, 5);
printf("c = %d\n", c);
c = f(4, 2);
printf("c = %d\n", c);
c = f(2, 4);
printf("c = %d\n", c);
c = f(3, 3);
printf("c = %d\n", c);
}
int f(int d, int e) {
if (e > 0)
return f(d, e - 1) + f(d, e - 1);
else
return d;
}
我知道代碼給我和2
f中提升到了第二個數字d
之間的產品(在f
第一號)(函數)需要知道爲什麼代碼這樣的行爲 - 在C解釋代碼
問題是,我不明白爲什麼它給了我這樣的輸出,我沒有在代碼中看到任何運算符(類似於方程d * 2^e)。 一個深刻的解釋將是非常讚賞,隨意建議可以在學習C.
[** **遞歸(https://en.wikipedia.org/wiki/Recursion_(computer_science))似乎是閱讀清單。 – WhozCraig
我在哪裏可以找到這樣的遞歸? –
google,bing,yahoo,duckduckgo,.... – kaylum