关于递归函数,望解答!

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

慕仰103958

2018-11-14 21:15

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

}

为什么系统不是显示第十天记住的单次数量是19,而是把它们都加起来了?。。。实在是困惑啊,他为什么会自动相加啊

写回答 关注

1回答

  • KyuJ
    2019-07-18 12:17:56

    return getWordNumber(n-1)+n;  我个人理解:等于 1+2....+10,一加到十,getWordNumber(n-1) 会循坏出想要加的数+n   等价于   sum  +=    1

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题