如果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-03-09
這其實相當于一個遞歸函數
2020-02-08
(n-1)+n的意思是告訴這個函數用這個形式去求和
10+9+8+7+6+5+4+3+2+1=55
2020-02-07
getWordNumber ( n - 1 ) + n;?
(n-1)這個不是單純的算數運算中的括號
他是這個函數的參數