问答详情
源自:5-8 递归函数(二)

还有有点看不懂

(geitPeachNumber(n+1)+1)*2这个括号里的n+1始终看不懂

提问者:qq_祈祷_7 2017-09-06 16:03

个回答

  • Herzog
    2017-09-07 15:04:55
    已采纳

    递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;,要注意这个自创函数的函数名中的形参,你这个n+1有类似于新的n一样。

    他是从n=1开始的,首先判断1==10不成立,所以进行一次递归调用,变成num=(geitPeachNumber(1+1)+1)*2

    也就是说geitPeachNumber(n)的n此时变为了2,然后判断2==10不成立,在进行一次递归调用,变为num=(((geitPeachNumber(2+1)+1)*2+1)*2也就是说哦geitPeachNumber(n)的n此时变为了3,括号里的n+1你始终把它当做新的n的就行了,如此类推,一直到10==10成立,返回了1,也就意味着,geitPeachNumber(10)=1然后依靠递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;,依次求得结果,在电脑中输出。

  • 慕瓜8102837
    2017-09-20 08:49:46

    如何理解这句话啊 依靠递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反

  • qq_祈祷_7
    2017-09-07 16:08:59

    谢谢,懂了