當前位置:編程學習大全網 - 編程軟體 - C語言中,這條語句是什麽意思?

C語言中,這條語句是什麽意思?

這叫遞歸函數(自己調用自己)。遞歸只有執行到調用自己的地方,就會進入下壹層。壹層壹層嵌套,直到某壹層不再執行調用(對應這題就是n>1不成立的那壹層)。

然後,從最後壹層往前返回。

執行流程如下:

1、執行sum=fun(a+2,4);這裏把a首地址往後偏移2位的數組傳入(既3,4,5......的數組)。

所以,這裏a[0]是3,n是4。n>1成立,執行調用進入下壹層。

2、執行a[0]+fun(a+1,n-1);傳4開頭的數組,a[0]是4,n是3,成立,下壹層。

3、同上,傳5開頭數組,a[0]是5,n是2,成立,下壹層。

4、同上,傳6開頭的數組,a[0]是6,n是1,不成立,執行return a[0];

之後從最後壹層往前返回:

4、返回a[0],也就是6。

3、返回a[0]+6,也就是5+6=11。

2、返回a[0]+11,也就是4+11=15。

1、返回a[0]+15,也就是3+15=18。

  • 上一篇:“筆記本電腦”、“臺式電腦”用英語怎麽說?
  • 下一篇:在Linux編程中,父進程為什麽要等待並回收子進程的退出狀態?不這樣做會有什麽後果?
  • copyright 2024編程學習大全網