首先要理解遞歸的概念,先遞后歸
成都創(chuàng)新互聯(lián)公司主營成武網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app軟件開發(fā),成武h5成都小程序開發(fā)搭建,成武網(wǎng)站營銷推廣歡迎成武等地區(qū)企業(yè)咨詢
開始遞
get(1) n=1不成立,執(zhí)行else
get(2) n=2不成立,執(zhí)行else
get(3) n=3不成立,執(zhí)行else
get(4) n=4不成立,執(zhí)行else
get(5) n=5不成立,執(zhí)行else
get(6) n=6不成立, 執(zhí)行else
get(7) n=7不成立, 執(zhí)行else
get(8) n=8不成立, 執(zhí)行else
get(9) n=9不成立 執(zhí)行else
get(10) n=10成立,返回值1
開始歸!
get(10) num=1
get(9) get(n+1)*2+2 = 1*2+2=4 //這里說下為什么不在遞的時候計算else呢?因為在遞的時候我們并不知道他們上一次的值,所以是沒辦法計算的,這里get(n+1)已經(jīng)知道了上一次的值get(10)是1。
get(8) get(n+1)*2+2 = 4*2+2 =10
get(7) get(n+1)*2+2 = 10*2+2 = 22
get(6) get(n+1)*2+2 = 22*2+2 = 46
get(5) get(n+1)*2+2 = 46*2+2 = 94
get(4) get(n+1)*2+2 = 94*2+2 = 190
get(3) get(n+1)*2+2 = 190*2+2 = 382
get(2) get(n+1)*2+2 = 382*2+2 = 766
get(1) get(n+1)*2+2 = 766*2+2 = 1534
至此遞歸條件結(jié)束
這里有C的視頻教程不過個人覺得沒什么用
我怎么也看不進
到是自己后來看看各種資料要好的多
遞歸,是函數(shù)實現(xiàn)的一個很重要的環(huán)節(jié),很多程序中都或多或少的使用了遞歸函數(shù)。遞歸的意思就是函數(shù)自己調(diào)用自己本身,或者在自己函數(shù)調(diào)用的下級函數(shù)中調(diào)用自己。
遞歸之所以能實現(xiàn),是因為函數(shù)的每個執(zhí)行過程都在棧中有自己的形參和局部變量的拷貝,這些拷貝和函數(shù)的其他執(zhí)行過程毫不相干。這種機制是當代大多數(shù)程序設計語言實現(xiàn)子程序結(jié)構(gòu)的基礎,是使得遞歸成為可能。假定某個調(diào)用函數(shù)調(diào)用了一個被調(diào)用函數(shù),再假定被調(diào)用函數(shù)又反過來調(diào)用了調(diào)用函數(shù)。這第二個調(diào)用就被稱為調(diào)用函數(shù)的遞歸,因為它發(fā)生在調(diào)用函數(shù)的當前執(zhí)行過程運行完畢之前。而且,因為這個原先的調(diào)用函數(shù)、現(xiàn)在的被調(diào)用函數(shù)在棧中較低的位置有它獨立的一組參數(shù)和自變量,原先的參數(shù)和變量將不受影響,所以遞歸能正常工作。程序遍歷執(zhí)行這些函數(shù)的過程就被稱為遞歸下降。
程序員需保證遞歸函數(shù)不會隨意改變靜態(tài)變量和全局變量的值,以避免在遞歸下降過程中的上層函數(shù)出錯。程序員還必須確保有一個終止條件來結(jié)束遞歸下降過程,并且返回到頂層。
本文標題:c語言遞歸函數(shù)視頻教程 c語言實現(xiàn)遞歸函數(shù)
網(wǎng)頁鏈接:http://chinadenli.net/article40/dodigho.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站營銷、網(wǎng)站制作、網(wǎng)站改版、網(wǎng)站收錄、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)