關(guān)于遞歸函數(shù),望解答!
#include <stdio.h>
/* 定義獲取單詞數(shù)量的函數(shù) */
int getWordNumber(int n)
{? ?
? ? if(n == 1)
? ? {
? ? ? ? return 1;? ? //第一天只會1個單詞
? ? }
? ? else{
? ? ? ? return getWordNumber(n-1)+n;? ? ? ?//到第天會的單詞數(shù)量
? ? }
}
int main()
{
? ? int num = getWordNumber(10);? ? ?//獲取會了的單詞數(shù)量
? ? printf("小明第10天記了:%d個單詞。\n", num);
? ? return 0;
}
為什么系統(tǒng)不是顯示第十天記住的單次數(shù)量是19,而是把它們都加起來了?。。。實在是困惑啊,他為什么會自動相加啊
2019-07-18
return getWordNumber(n-1)+n;? 我個人理解:等于 1+2....+10,一加到十,getWordNumber(n-1) 會循壞出想要加的數(shù)+n? ?等價于? ?sum? +=? ? 1