1樓:
先呼叫函式f,然後把返回值賦值給z。不過這個函式不對,沒有退出條件,無法停止。舉例說明吧
int f(int x)
else
}假如f(3)
那麼第一次f(3):x!=0,呼叫f(2)第二次f(2):x!=0,呼叫f(1)
第三次f(1):x!=0,呼叫f(0)
第四次f(1):x==0,返回1
返回第三次呼叫f(1):返回1*1=1;
返回第二次呼叫f(2):返回2*1=2;
返回第一次呼叫f(3):返回3*2=6;
f(3)的結果為6
2樓:匿名使用者
方便你理解,你可以看這樣一段程式。
#include
int f(int x)
else
}int main()
輸出f(x=5)
f(x=4)
f(x=3)
f(x=2)
f(x=1)
f(x=0)
return z=1
return z=2
return z=3
return z=4
return z=5
3樓:
先呼叫函式,再賦給z。
變數作用域
4樓:匿名使用者
建議以除錯模式執行程式,並以單步模式逐行執行,跟蹤程式的執行軌跡,從而加速並加深對遞迴的理解。
5樓:偶開狗眼
你這個函式是個死的迴圈
c語言怎麼用遞迴呼叫函式的方法求n的階乘
1 開啟vc6.0軟體bai,新建 一個duc語言的專案 2 接zhi下來編寫主程dao序,首先定義內用來求階乘的遞容歸函式以及主函式。在main函式裡定義變數sum求和,呼叫遞迴函式fact 並將返回值賦予sum,最後使用printf列印sum的結果,主程式就編寫完了 3 最後執行程式,觀察輸出的...
沒分了呃,跪求關於C語言的遞迴呼叫問題,遞迴呼叫是怎麼過程啊
這個問題我以前也糾結了很長時間,不過最後還是被我想通了。如果你輸入3 即fun 3 則最後輸出的應該先是1然後輸出3.首先有一點你要想通,printf d x 這行 無論變到哪個數字時,他都會執行一遍。然後就是先後順序的問題。以7為例 7 2 結果是3,3 0 然後執行 fun x 2 這個時候回到...
c語言函式呼叫例子,c語言中函式呼叫有三種方法,能幫忙各舉個例子嗎
include int main void printstar void print message 比如,你有bai一個函式du 整數划來分問題自,有點難理解 include main int q int n,int m c語言中呼叫函式的方 復法及步驟 1 首先制需要輸入想要呼叫的函式。2 然後...