c語言函式遞迴呼叫看不懂了,求教

2021-03-19 18:28:37 字數 1328 閱讀 1866

1樓:尛芯の銥籟

程式語言中,函式func(type a,……)直接或間接呼叫函式本身,則該函式稱為遞迴函式。遞迴函式不能定義為行內函數。在數學上,關於遞迴函式的定義如下:

對於某一函式f(x),其定義域是集合a,那麼若對於a集合中的某一個值x0,其函式值f(x0)由f(f(x0))決定,那麼就稱f(x)為遞迴函式。

c語言的遞迴呼叫怎麼理解,更容易學?我看不懂呢。求高人指教!

2樓:匿名使用者

一個函式自己bai呼叫自己。

通常du最簡單的例子是zhi

:計算階乘,即dao 5! = 5*4*3*2*1int factorial(int n) else}把自己想象版成電腦,試一試 factorial(5)就會發現權 return 5*4*3*2*1remark:

遞迴函式計算往往比較慢,因太頻繁地自己呼叫自己,很多情況下會有更好的演算法哦。

3樓:匿名使用者

遞迴的結構其實很簡單,兩部分組成

1、結束遞迴的條件,要不然會無限遞迴

專下去2、就是遞迴的公屬式,以什麼樣的方式呼叫自己還有比較複雜的遞迴,就是雙線和多線遞迴

這個就是a呼叫b,b再呼叫c,c再呼叫a,等等的方式多個函式之間的互相呼叫

每個函式都至少有這兩部分組成

4樓:莫給老子拖堂了

重複呼叫本身(求階乘就是不停滴呼叫本身函式,最後逐個返回)

5樓:天下獨孤

從階乘那開始理解,類似階乘

c語言遞迴程式,看不懂,求解釋!!!

6樓:匿名使用者

用我自己的話來解釋,你可以看作void f(int n)被複制了很多份(每一次遞迴都複製了一份,遞迴這個詞不知道要不要再解釋……)當你在void f(int n)函式內呼叫void f(int n)時,函式內呼叫的void f(int n)是臨時從原f中複製的一個新的函式。所以每一次遞迴都需要佔用新的資源(所以遞迴如果一直不結束的話,最後會造成棧溢位)。

如果你瞭解c的底層模型,遞迴的概念就自然而然理解了。

7樓:我混你也混

#include "stdio.h"

void f(int n)

}main()

8樓:匿名使用者

建議使用開發工具,除錯執行,瞭解函式執行步驟。

這是個比較簡單的遞迴呼叫。

9樓:匿名使用者

int i; 這個? i 用到**?想幫你看看。。

自學c語言看不懂怎麼辦啊,自學C語言,看不懂,怎麼辦啊

我的專業軟體工程,大學第1學期學的就是這個,下面說說個人的一些體會 1,開始的時候先是學好基礎,如int char各代表什麼,要記憶的東西要記牢並且要好好理解 2,通過1段時間的學習要對c語言的基本特點有個大概的認識,找些參考書籍看看簡短的語句表示什麼意思,和一些改錯題,要十分注意,有可能這些就是你...

高分求解,c語言程式,看不懂

該函式完來成的 功能 將a指向的字串後源面連續的 號刪除。while p p 判斷p指向的字元是否是 0,如果是結束,不是則會將指標p向後移動一個位置 即指向下一個字元 該語句結束後,指標p指向的字元是 0 字串結束標誌 p 讓指標指向 0前面一個字元 即字串最後一個字元 while p 如果p指向...

C語言程式設計題,什麼意思?看不懂,C語言題目,什麼鬼,看不懂

include int fun2 int n int fun1 int n void main include n的階du乘zhi int fac n s函式 int sum n int main void c語言題目,什麼鬼,看不懂 26題解答 由定義int a 2 3 可知,陣列最後一個數 或者...