3-8习题有一些疑问,麻烦解释一下!
我的思路:初始值 $n=6; $m=9; 执行函数
第一次进入函数体:9<=6 flase ; return sum(6,8)+9
第二次进入函数体:8<=6 flase ; return sum(6,7)+8(在第一次的函数的返回行上还有+9)
第三次进入函数体:7<=6 flase ; return sum(6,6)+7(在第一次的函数的返回行上此时有+8+9)
第四次进入函数体:6<=6 ture ; return 6; if 判断结束。继续向下走, return sun(6,5)+6
在这里发生了问题?
return值只能返回一个。是后者覆盖前者!还是在函数体内第一次遇到return 返回的值彻底执行完毕后,不再继续执行剩余的代码;又或者执行剩余的代码,但不执行下面的return返回值的操作;
如果跳出了if继续执行return,那么上述递归将不会结束,是吗?
正在回答
你好,运行的逻辑为:
第一次进入函数体:9<=6 flase ; return sum(6,8)+9
第二次进入函数体:8<=6 flase ; return sum(6,7)+8+9
第三次进入函数体:7<=6 flase ; return sum(6,6)+7+8+9
第四次进入函数体:6<=6 ture ; return 6+7+8+9;
如果解决您的问题问题请采纳,祝学习愉快!
- 参与学习 人
- 提交作业 626 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星