亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

printf語句和遞歸函數遞推和回遞時的執行順序

printf語句也在函數getpeachnumber(n)里面,當n等于1,調用自身時,為什么printf語句在這個函數體內也沒有執行到printf語句?

如果遞推時沒有執行到printf語句,為什么回推的時候會執行到printf語句,而不是回推完畢之后,得到第一天的總數,再來執行printf語句

正在回答

2 回答

#include?<stdio.h>
int?getPeachNumber(n)
{
????int?num;????//定義所剩桃子數
????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;
}

上面的代碼總共有22行,假設第一次調用時,沒有行的標號為1-1 ? 到 1-22;第二次調用時 2-1 到2-22;依此類推。

代碼執行順序:

1-1 ?>> 1-11 >>2-1 >>2-11 >>>>>>10-1>>10-6 >>9-12>>9-22>>8-12>>8-22>>>>>>1-12>>1-22

0 回復 有任何疑惑可以回復我~

大家一起猜代碼

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

printf語句和遞歸函數遞推和回遞時的執行順序

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號