如果n=10的話return后面的計算式算出的值不應該是19嗎 為什么是55呢
#include?<stdio.h>
/*?定義獲取單詞數量的函數?*/
int?getWordNumber(int?n)
{???
????if(n?==?1)
????{
????????return?1;????//第一天只會1個單詞
????}
????else{
????????
????????return?getWordNumber(n-1)+n;???????//到第天會的單詞數量
????}
}
int?main()
{
????int?num?=?getWordNumber(10);?????//獲取會了的單詞數量
????printf("小明第10天記了:%d個單詞。\n",?num);
????return?0;
}
2020-02-03
因為當n=1時,n-1=0而不等于1,是假命題,不執行了
2019-11-16
相當于這樣((((((((1 + 2)+ 3)+ 4)+ 5)+ 6)+ 7)+ 8)+ 9)+ 10
2019-11-16
你的思想是一個誤區,getWordNumber(n-1)是一個函數。是一個整體再加n,我也在這個誤區里面繞了很久。