人數(shù)為什么要寫-1,算出來怎么是+的
#include <stdio.h>?
int num(int renshu)
{
? ? int suishu;
? ? if(renshu==0)
? ? {
? ? return 8;
}
? ? else
? ? {
? ? suishu= num(renshu-1)+2;
? ? printf("第%d個人%d歲\n",renshu,suishu);
}
? ? return suishu;
}
int main()?
{
? ? printf("第5個人的年齡是%d歲",num(5));?
return 0;
}
我是照著之前代碼寫的,我的編譯器可以運行但是瀏覽器的不能運行,我只有一個地方弄不明白就是人數(shù)不應該+1嗎為什么要寫-1?
2021-01-05
我們已知的是第一個人的歲數(shù),功能函數(shù)里傳入的參數(shù)是我們想要知道第幾個人的歲數(shù),所以人數(shù)要依次遞減1,直到減到我們已知的第一個人,由于年齡是越往前越小,所以人數(shù)每減去1個,年齡就要+2才能得到我們傳入的那個參數(shù)的值(也就是中間有多少個人,就大了多少個2歲)