return语句不是结束此函数的执行吗?为什么会重复判断if函数
来源:3-8 选择题
Vcooli
2019-08-25 16:03:44
return语句不是结束此函数的执行吗?为什么会重复判断if函数
2回答
同学你好,sum的函数外的$m值是会改变的哦!运行的逻辑为:
第一次进入函数体: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;
祝学习愉快!
好帮手慕小尤
2019-08-25
同学你好,当函数执行到return时是会跳出循环,但题目中的代码在return sum($n,$m-1)+$m时是会重新调用sum函数的,会在调用完函数之后再return。而if中的return在满足条件之后,会返回$n的值,然后结束掉当前函数,那么sum($n,$m-1)+$m执行结束,开始return结果。祝学习愉快!
相似问题