98国产精品综合一区二区三区,国产福利视频,男人添女人囗交做爰视频,日本免费一区二区三区视频观看

您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> 函數(shù)的遞歸調用
新聞資訊
NEWS INFORMATION

函數(shù)的遞歸調用

發(fā)布時間:2019-05-22

一個函數(shù)在它的函數(shù)體內(nèi)調用它自身稱為遞歸調用,這種函數(shù)稱為遞歸函數(shù)。執(zhí)行遞歸函數(shù)將反復調用其自身,每調用一次就進入新的一層。

【示例】用遞歸計算 n!。階乘 n! 的計算公式如下:

根據(jù)公式編程:

  1. long factorial(int n){
  2. long result;
  3. if(n==0 || n==1){
  4. result = 1;
  5. }else{
  6. result = factorial(n-1) * n; // 遞歸調用
  7. }
  8. return result;
  9. }

這是一個典型的遞歸函數(shù)。調用factorial后即進入函數(shù)體,只有當 n==0 或 n==1 時函數(shù)才會執(zhí)行結束,否則就一直調用它自身。

由于每次調用的實參為 n-1,即把 n-1 的值賦給形參 n,所以每次遞歸實參的值都減 1,直到最后 n-1 的值為 1 時再作遞歸調用,形參 n 的值也為1,遞歸就終止了,會逐層退出。

例如求 5!,即調用factorial(5)。當進入factorial函數(shù)體后,由于 n=5,不等于0或1,所以執(zhí)行result = factorial(n-1) * n;,即result = factorial(5-1) * 5;,接下來也就是調用factorial(4)。這是第一次遞歸。

進行四次遞歸調用后,實參的值為 1,也就是調用factorial(1)。這時遞歸就結束了,開始逐層返回。factorial(1) 的值為 1,factorial(2) 的值為 1*2=2,factorial(3) 的值為 2*3=6,factorial(4) 的值為 6*4=24,最后返回值 factorial(5) 為 24*5=120。

注意:為了防止遞歸調用無終止地進行,必須在函數(shù)內(nèi)有終止遞歸調用的手段。常用的辦法是加條件判斷,滿足某種條件后就不再作遞歸調用,然后逐層返回。

遞歸調用不但難于理解,而且開銷很大,如非必要,不推薦使用遞歸。很多遞歸調用可以用迭代(循環(huán))來代替。

【示例】用迭代法求 n!。

  1. long factorial(int n){
  2. int i;
  3. long result=1;
  4. if(n==0 || n==1){
  5. return 1;
  6. }
  7. for(i=1; i<=n; i++){
  8. result *= i;
  9. }
  10. return result;
  11. }

關于函數(shù)調用的原理,請大家閱讀《C語言和內(nèi)存》中的《棧的概念以及棧溢出》《一個函數(shù)在棧上到底是怎樣的》《詳細分析一個函數(shù)進棧出棧的例子》幾節(jié),屆時你將會明白遞歸調用的開銷為什么很大。

聯(lián)系方式0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A09

ass鲜嫩鲜嫩pics日本| 妓女精品国产噜噜亚洲av| 欧美日韩亚洲精品瑜伽裤| 久久久欧美国产精品人妻噜噜| 上课忘穿内裤被老师摸到高潮| 性视频免在线观看视频| 弥留之国的爱丽丝第一季| 清冷校草受灌满哭求饶bl| 朋友出差人妻半推半就滑进| 97精产国品一二三产区| 国产精品一区二区三区| 日本特黄特色aaa大片免费| 工头搡老女人老妇女老熟女| 人妻上司厨房出轨2hd院线| 老师好大好爽我要喷水了视频| 99国产精品久久久久久久成人热| 一本色道久久爱久久综合网| 成人欧美一区二区三区在线观看| 亚洲第一av网站| 小洁和公h文翁17| 师尊被掐着腰做到潮喷纯肉gb| 成人性毛片免费观看黄| 日产一二三区别免费必看| 国产一区二区三区| 公交车上内裤滑进去了会怎么样| 天堂VA蜜桃一区二区三区| 调教小荡货h办公室| 国产精品成人一区二区三区无码| 熟女大屁股白浆一区二区| 把女人弄爽特黄a大片视频| 妈妈的朋友2| 寂寞人妻瑜伽被教练日| 后入内射无码人妻一区| 纯爱无遮挡h肉动漫在线播放| 老熟女重囗味hdxx70星空| 大战熟女丰满人妻av| 小箩莉末发育娇小性色xxxx| 国产成人无码视频一区二区三区| 精品无码一区二区三区| 精品人妻一区二区三区浪潮在线| 少妇┅┅快┅┅用力|