如果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,我也在這個誤區里面繞了很久。