最后(10)这里代表什么意思,换了好像也没有什么区别

来源:5-7 递归函数(一)

我只有一件白T恤

2016-11-26 15:55

#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;
}

写回答 关注

1回答

  • 落叶伤剑
    2016-11-27 10:08:57
    已采纳

    我自己的理解是:

    1. 换了的确没有什么区别  C语言的设计就是从上到下推  但是大多数情况都是已经知道结果怎样了  然后开始编程  所以另外一个选项无论写什么  你自己心里都清楚  他都不会去实现  因为10<11 早就知道

    2. 写成getWordNumber(10)这样  我个人的理解是小明只学习10天  超过了10天  即使n=16啊等等  他也只记前10天的单词内容  超过10天后  他就不学习啦

    3. 其实我觉得写成 return  getWordNumber(n-1)+n; 就可以了  为何要多此一举呢?

    我只有一件白...

    嗯嗯那谢啦~

    2016-12-11 22:39:08

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题