課程
/后端開發
/C
/C語言入門
1.遞歸函數中,位于遞歸調用前的語句和各級被調用函數具有相同的執行順序;
?2. 遞歸函數中,位于遞歸調用后的語句的執行順序和各個被調用函數的順序相反
如何理解這兩句話,可以舉個實際例子么
2019-08-06
源自:C語言入門 5-8
正在回答
陳同學,看看這個。
#include <stdio.h>
a=0;
int getPeachNumber(n)
{
? ? int num;? ? //定義所剩桃子數
? ? printf("第%d次\n",a++);
? ? if(n==10)
? ? {
? ? ? ?return 1;? ? ? ?//遞歸結束條件
? ? }
? ? else
? ? ? ? num = (getPeachNumber(n+1)+1)*2;? ?//這里是不應該用遞歸呢?
? ? ? ? printf("第%d天所剩桃子%d個\n", n, num); //天數,所剩桃子個數
? ? return num;
}
int main()
? ? int num = getPeachNumber(1);
? ? printf("猴子第一天摘了:%d個桃子。\n", num);
? ? return 0;
廢寢忘食陳同學 提問者
小小疾飛 回復 廢寢忘食陳同學 提問者
廢寢忘食陳同學 提問者 回復 小小疾飛
渴望學習
可以用函數f(x)?(高中數學知識) ?來理解遞歸
我表述能力不太好,講起來怕會云里霧里的?
小小疾飛
小神0x00 回復 小小疾飛
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
4 回答關于反向打印的問題?
3 回答關于遞歸函數
1 回答關于遞歸函數
2 回答關于遞歸函數
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-06
陳同學,看看這個。
#include <stdio.h>
a=0;
int getPeachNumber(n)
{
? ? int num;? ? //定義所剩桃子數
? ? printf("第%d次\n",a++);
? ? if(n==10)
? ? {
? ? ? ?return 1;? ? ? ?//遞歸結束條件
? ? }
? ? else
? ? {
? ? ? ? num = (getPeachNumber(n+1)+1)*2;? ?//這里是不應該用遞歸呢?
? ? ? ? printf("第%d天所剩桃子%d個\n", n, num); //天數,所剩桃子個數
? ? }
? ? return num;
}
int main()
{
? ? int num = getPeachNumber(1);
? ? printf("猴子第一天摘了:%d個桃子。\n", num);
? ? return 0;
}
2019-08-06
可以用函數f(x)?(高中數學知識) ?來理解遞歸
我表述能力不太好,講起來怕會云里霧里的?