fun(n)==fun(n-1)+fun(n-2);是告訴你通項公式。那么,你就可以知道任何一項。
創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計制作、網(wǎng)站制作,網(wǎng)站設(shè)計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上1000+服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!
在else部分的do while循環(huán)中調(diào)用sub(4)---sub(3)---sub(2)---sub(1)sub(1)第一次返回6,static int i為靜態(tài)變量,會一直累積。
函數(shù)其實(shí)沒有釋放內(nèi)存的概念,因為函數(shù)都是在指令區(qū),而不是通常所說的釋放內(nèi)存對應(yīng)的數(shù)據(jù)區(qū),不過在整個程序執(zhí)行完之后指令區(qū)也是要釋放的。
然后你看代碼:fun(0)==0,fun(1)==1;是告訴你一二項。fun(n)==fun(n-1)+fun(n-2);是告訴你通項公式。那么,你就可以知道任何一項。
“遞歸”外在表現(xiàn)出來的形式,是:函數(shù)自己調(diào)用自己。也就是說:如果我們定義了一個函數(shù)fun(),那么,在fun函數(shù)體中,fun這個函數(shù)自己調(diào)用自身 ,這就是表示:遞歸調(diào)用。
傳遞進(jìn)去的參數(shù)要變化,滿足條件調(diào)用自身,不滿足條件就開始一層一層返回。
1、首先,遞歸是通過棧實(shí)現(xiàn)的,若沒有遇到結(jié)束條件,入棧保存本次調(diào)用的返回地址,局部變量,形式參數(shù)等值。
2、fun(n)==fun(n-1)+fun(n-2);是告訴你通項公式。那么,你就可以知道任何一項。
3、傳遞進(jìn)去的參數(shù)要變化,滿足條件調(diào)用自身,不滿足條件就開始一層一層返回。
4、遞歸之所以能實(shí)現(xiàn),是因為函數(shù)的每個執(zhí)行過程都在棧中有自己的形參和局部變量的拷貝,這些拷貝和函數(shù)的其他執(zhí)行過程毫不相干。這種機(jī)制是當(dāng)代大多數(shù)程序設(shè)計語言實(shí)現(xiàn)子程序結(jié)構(gòu)的基礎(chǔ),是使得遞歸成為可能。
5、語言函數(shù)的遞歸和調(diào)用 基本內(nèi)容:C語言中的函數(shù)可以遞歸調(diào)用,即:可以直接(簡單遞歸)或間接(間接遞歸)地自己調(diào)自己。要點(diǎn):C語言函數(shù)可以遞歸調(diào)用??梢酝ㄟ^直接或間接兩種方式調(diào)用。目前只討論直接遞歸調(diào)用。