为了账号安全,请及时绑定邮箱和手机立即绑定

递归函数一,这次真的太懵了

#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 回答

https://img1.sycdn.imooc.com//5bf0377e0001d23705970304.jpg这个是递归原理的图

3 回复 有任何疑惑可以回复我~
#1

慕仰103958 提问者

兄弟还是看不懂啊
2018-11-17 回复 有任何疑惑可以回复我~
#2

WuLve 回复 慕仰103958 提问者

WN就是(WordNumber)啊 WN(10) =WN(9)+10 =WN(8)+9+10 =WN(7)+8+9+10 …… =WN(1)+2+3+4+5+6+7+8+9+10 =1+2+3+4+5+6+7+8+9+10
2018-11-22 回复 有任何疑惑可以回复我~
#3

WuLve 回复 慕仰103958 提问者

兄弟,不好意思啊,这几天忙,都没看过慕课了
2018-11-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924403    人
  • 解答问题       20753    个

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

进入课程

递归函数一,这次真的太懵了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信