正在回答
2回答
您好,并不是判断条件大于等于2的问题,而是return写在if判断语句中,当你的语句判断到你指定的值时,便无法走到if语句里面了,那么也就无法执行return操作,那么此时返回的是函数默认的null。可看下面的代码执行经过的解析:
function mycount($a){ if($a>=1){ return $a * mycount($a - 1); } } var_dump (mycount(4));
mycount函数第一次执行:$a应该为4->进行if判断->为正确->进入if判断,此时第二次调用函数mycount:$a应该为3->进行if判断->为正确->进入if判断,此时第三次调用函数mycount:$a应该为2->进行if判断->为正确->进入if判断,此时第四次调用函数mycount:$a应该为1->进行if判断->为正确->进入if判断,此时第五次调用函数mycount:$a应该为0->进行if判断($a>=1)->为错误>无法进入if判断,那么也就无法执行if语句中的return语句了,因此在var_dump的时候是返回的是函数默认的null。
“最后输出的是0”指的是你的代码执行结果是0.
如果解决了您的问题,请采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星