誰能幫我說一下執(zhí)行順序
#include <stdio.h>?
int digui(int n)
{
? ? int ni,sum;
? ? if(n==1)
? ? ? ? ni=10;
? ? else
? ? ni=digui(n-1)+2;(這個是怎得出結(jié)果的?比如函數(shù)是:5,5-1+2=6(就算加上10也是16))
printf("%d\n",n);
printf("%d\n",ni);
? ? return ni;
? ? printf("%d\n",n);
? ??
}
int main()?
{
? ?int sum=digui(5);
printf("第5個人的年齡是%d歲", sum);?
return 0;
}
2018-02-19
遞歸就是一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身,比如你輸入digui(5)的時(shí)候,判斷n是5不是1,于是年齡數(shù)+2,這個時(shí)候就是2,與此同時(shí)開始運(yùn)算遞歸digui(4),發(fā)現(xiàn)n仍然不等于1,于是年齡數(shù)又+2,這時(shí)候是4了...直到最后加上最后一人的10歲,總共是18...我也是初學(xué)者表達(dá)能力不好見諒哈