谁能帮我分析一下,下面这段php代码的结果吗,求分析过程
<?phpfunctionabc($n){if($n>2){abc(--$n);}else{echo'$n='.$n."<br/>";}}abc(4);?>...
<?php
function abc($n){
if($n>2){
abc(--$n);
}else{
echo '$n='.$n."<br/>";
}
}
abc(4);
?> 展开
function abc($n){
if($n>2){
abc(--$n);
}else{
echo '$n='.$n."<br/>";
}
}
abc(4);
?> 展开
3个回答
展开全部
画个一个函数运行内存图你自己看看 可能明白...
第一次带出4
第二次带入--4 =3
第三次带入 --3 =2
让后最先输出是在第三次abc 结束 后到第二个abc内输出 最后才到 第一个.
追问
我也是按你这种思路理解的,我不明白的是最后结果为什么只输出一个 $n=2
第一次输出 $n=2 结束之后,为啥不会再输出 $n=3 呢?
追答
为什么啊 你自己看上面是不是还有一个IF $N>2
$n>2的时候 去执行abc函数了 只有当n<=2的时候才去执行 echo
看判断
展开全部
结果是 $n=2<br/>
参数值4调用函数abc时一直会进行-1操作,直到减到 2 时,此时 2>2 条件为假就不再调用abc函数了,直接输出 $n=2<br/>
参数值4调用函数abc时一直会进行-1操作,直到减到 2 时,此时 2>2 条件为假就不再调用abc函数了,直接输出 $n=2<br/>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$n=4>2;
所以自减,
$n=3>2;继续自减
$n=2;
输出为$n=2
所以自减,
$n=3>2;继续自减
$n=2;
输出为$n=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询