#include <stdio.h>
/* 定义获取单词数量的函数 */
int getWordNumber(int n)
{
if(n == 1)
{
return 1; //第一天只会1个单词
}
else{
return n<11?getWordNumber(n-1)+n:getWordNumber(10) ; //到第天会的单词数量
}
}
int main()
{
int num = getWordNumber(10); //获取会了的单词数量
printf("小明第10天记了:%d个单词。\n", num);
return 0;
}
我自己的理解是:
换了的确没有什么区别 C语言的设计就是从上到下推 但是大多数情况都是已经知道结果怎样了 然后开始编程 所以另外一个选项无论写什么 你自己心里都清楚 他都不会去实现 因为10<11 早就知道
写成getWordNumber(10)这样 我个人的理解是小明只学习10天 超过了10天 即使n=16啊等等 他也只记前10天的单词内容 超过10天后 他就不学习啦
其实我觉得写成 return getWordNumber(n-1)+n; 就可以了 为何要多此一举呢?