#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; }
因为当n=1时,n-1=0而不等于1,是假命题,不执行了
相当于这样((((((((1 + 2)+ 3)+ 4)+ 5)+ 6)+ 7)+ 8)+ 9)+ 10
你的思想是一个误区,getWordNumber(n-1)是一个函数。是一个整体再加n,我也在这个误区里面绕了很久。