这么理解对吗

这么理解对吗


function sum($n,$m){


if($m<=$n){

return $n;

}

return sum($n,$m-1)+$m{


        if($m<=$n){

return $n;

    }


    return sum($n,$m-1)+$m{


    if($m<=$n){

    return $n;

        }


    }

}

}


echo $sum(6,9);


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
guly 2018-11-27 09:54:06

你好,您的理解是有偏差的,建议仔细查看如下没步骤的运行:

当$m>$n时,函数返回sum($n,$m-1)+$m,

调用执行sum(6,9),第一次进入函数,返回 sum(6,8)+9,这里遇到sum(6,8)

二次进入函数,返回sum(6,7)+8,那么结果就是 sum(6,7)+8+9,这里有sum(6,7)

三次进入函数,返回sum(6,6)+7,那么结果就是sum(6,6)+7+8+9,这里有sum(6,6)

四次进入函数,满足if判断条件,返回$m,也就是返回了6,那么结果就是6+7+8+9。

结果是30,将这个结果返回,页面输出30,如果解决您的问题请采纳,祝学习愉快!


  • $m是怎么累加的呢?没看到有运算啊!
    2018-12-24 22:36:57
  • sum ()+$m sum里的值不用算吗
    2018-12-24 23:24:39
  • sum()中的值进行了运行,每次+$m,$m的值就是使用sum()求出的。$m在最后结果处进行了相加6+7+8+9。祝学习愉快!
    2018-12-25 10:00:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师