课程
/后端开发
/C
/C语言入门
num = (getPeachNumber(n+1)+1)*2;这个语句还是不理解什么意思
2015-01-31
源自:C语言入门 5-8
正在回答
这个是个赋值语句,会计算等号右侧的值,并将其赋给num。
而等号右侧括号中的第一项就是个函数调用,再次调用了这个函数getPeachNumber(n+1),其中有可能再次调用这个函数...直到某一次调用时传入的参数n==10,满足了递归结束条件,于是返回了1,而它的调用者(应该也是在一次getPeachNumber调用中)则完成了等号右侧的计算,并将计算出来的值赋给了它的num,最后将其值返回给了它的调用者——也许还是在前一个getPeachNumber中......最终main函数中的num得到了计算出来的值。
这就是递归调用。
陌天 提问者
getPeachNumber(2)=getPeachNumber(1)/2 - 1
推出
getPeachNumber(1)=(getPeachNumber(2)+1)*2
所以
num = (getPeachNumber(n+1)+1)*2
sanjiaofeng
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答不太懂,求解答
2 回答不太懂求解答
2 回答不太懂,求解答
3 回答真搞不懂,求解答求解答
1 回答不懂 求解答