請問為什么到n==1時返回的值不是1,而是55.
#include <stdio.h>
int getWordNumber(int n)
{
? ?
? ? if(n==1)
? ? {
? ? ? ? return 1;
? ? }? ? else
? ? {
? ? ? return getWordNumber(n-1)+n;
? ? ? ?
? ? }
}
int main()
{
? ? int num = getWordNumber(10);? ? ?//獲取會了的單詞數量
? ? printf("小明第10天記了:%d個單詞。\n", num);
? ? return 0;
}
2018-10-07
這是遞歸函數,當你輸入10的時候有:10+9+8+。。。。。+1一直到n==1結束,n==1相當于是一個遞歸結束的信號。