脑子转不过来,不懂递归函数怎么运行?

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

慕斯7407225

2016-12-07 20:08

没有循环语句,直接输进去10,他只是10+9了,之前的呢,1到8呢,结果对了,但是不懂啊,求大神解释

写回答 关注

2回答

  • _雨寂伞下又一个晴天_0
    2016-12-07 22:02:53
    已采纳

    if条件判断就相当于是在循环了,word(n-1)+n函数,n初值为10,一共记到第10天,当if(n==1)时,return 1,返回1,第一天记得一个,所以就可以一直累加。

    9+10

         8+(9+10)

             7+(8+9+10)

                6+(7+8+9+10)

                    5+(6+7+8+9+10)

                          4+(5+6+7+8+9+10)

                              3+(4+5+6+7+8+9+10)

                                   2+(3+4+5+6+7+8+9+10)

                                       1+(2+3+4+5+6+7+8+9+10)   // n==1时,return 1 


    慕斯7407...

    非常感谢!

    2016-12-11 19:52:09

    共 1 条回复 >

  • qq_慕粉60857
    2016-12-20 17:33:44

    我想明白了,我告诉你们

    当getWordNumber(10)时,执行else     return getWordNumber(n-1)+n(也就是判断语句第二步),

    具体执行过程如下:第一步getWordNumber(10-1)+10=getWordNumber(9)+10,第二步:getWordNumber(9-1)+9(前面的就是判断之后再次执行else     return getWordNumber(n-1)+n)+10=getWordNumber(8)+9+10,第三步就是以此类推,我是看了好多评论也没理解明白,自己捉摸出来的,能容易理解!


C语言入门

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

926028 学习 · 20793 问题

查看课程

相似问题