函式的遞迴呼叫:是函式巢狀呼叫的一種特殊形式
具體是指:
在呼叫乙個函式的過程中又直接或者間接地呼叫到本身
直接呼叫本身
deff1()
:print
('是我是我還是我'
) f1(
)f1(
) 間接接呼叫本身
deff1()
:print
('===>f1'
) f2(
)deff2(
):print
('===>f2'
) f1(
)f1(
)
一段**的迴圈執行的方案有兩種
方式一:while、for迴圈
while
true
:print
(1111
)print
(2222
)print
(3333
)方式二:遞迴的本質就是迴圈:
deff1()
:print
(1111
)print
(2222
)print
(3333
) f1(
)f1(
)需要強調的的一點是:
遞迴呼叫不應該無限地呼叫下去,必須在滿足某種條件下結束遞迴呼叫n=0
while n <10:
print
(n) n+=
1def
f1(n)
:if n ==10:
return
print
(n) n+=
1 f1(n)
f1(0
)
回溯:一層一層呼叫下去
遞推:滿足某種結束條件,結束遞迴呼叫,然後一層一層返回
age(5)
= age(4)
+10age(4)
= age(3)
+10age(3)
= age(2)
+10age(2)
= age(1)
+10age(1)
=18defage
(n):
if n ==1:
return
18return age(n-1)
+10res=age(5)
print
(res)
函式的遞迴呼叫
乙個函式在它的函式體內呼叫它自身稱為遞迴呼叫。這種函式稱為遞迴函式。c語言允許函式的遞迴呼叫。在遞迴呼叫中,主調函式又是被調函式。執行遞迴函式將反覆呼叫其自身。每呼叫一次就進入新的一層。例如有函式f如下 int f int x 這個函式是乙個遞迴函式。但是執行該函式將無休止地呼叫其自身,這當然是不正...
函式的遞迴呼叫
遞迴函式 呼叫自己本身的函式叫遞迴函式 實現如下 main.c define crt secure no warnings include include 遞迴列印字串逆序 int reverse char str if str 0 判斷遞迴結束條件 reverse str 1 printf c s...
函式的遞迴呼叫
程式呼叫自身的程式設計技巧成為遞迴,它可以將乙個大型複雜的問題層層分解成與原問題相似的小問題通過少量的 達到大事化小。遞迴的兩個必要條件 1.存在限制條件,當滿足這個限制條件的時候,遞迴便不再繼續。2.每次遞迴呼叫之後越來越接近這個限制條件。不建立臨時變數求字串長度 include include ...