大家帮忙分析下这段函数输出?
时间:2011-10-14
来源:互联网
<?php
function a($n)
{
return ( b($n) * $n );
}
function b(&$n){
++$n;
}
echo a(5);
?>
作者: linglingtong 发布时间: 2011-10-14
请加上 return
作者: ohmygirl 发布时间: 2011-10-14
6*5=30
不会这么简单吧
作者: dream1206 发布时间: 2011-10-14
那么a(5)实际上就相当于 b(5)*$n,执行完b(5)后返回值是6,也就是b(5) =6.且$n 加1变为6.所以最后的结果是
6*6=36.
作者: ohmygirl 发布时间: 2011-10-14
作者: dream1206 发布时间: 2011-10-14
如果加上return
那么a(5)实际上就相当于 b(5)*$n,执行完b(5)后返回值是6,也就是b(5) =6.且$n 加1变为6.所以最后的结果是
6*6=36.
感谢指点!
但原代码确实没有return,执行结果不是36.
作者: linglingtong 发布时间: 2011-10-14
所以相乘的结果是没有意义的
作者: ohmygirl 发布时间: 2011-10-14
如果没有 return 。因为b()函数是没有返回值的。
所以相乘的结果是没有意义的
哦,怪不得结果是0,感谢您!
作者: linglingtong 发布时间: 2011-10-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28