qq_祈祷_7
2017-09-06 16:03
(geitPeachNumber(n+1)+1)*2这个括号里的n+1始终看不懂
递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;,要注意这个自创函数的函数名中的形参,你这个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然后依靠递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;,依次求得结果,在电脑中输出。
如何理解这句话啊 依靠递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反
谢谢,懂了
C语言入门
926020 学习 · 20793 问题
相似问题