为什么输出的结果是6?不应该是5吗?
来源:2-8 编程练习
weixin_慕沐1043483
2019-07-17 10:33:03
<?php
//定义sum函数
//函数中计算数值
//调用函数,传入数值
header("content-type:text/html;charset=utf-8");
function fun($a,$b){
global $sum;
if (is_numeric($a) && is_numeric($b)){
for ($a=$sum;$a<=$b;$a++){
$sum+=$a;
}
echo $sum;
}
}
fun(2,3);
?>
2回答
好帮手慕小尤
2019-07-17
同学你好,1. 在原代码中因为同学循环$sum变量,可$sum为0所以在运行for循环中的$a++时,$a的值就为1,2,3得到结果为6。因是从1开始所以fun(1,100),不会影响结果。同学可以在for循环中输出$a进行测试。
2. 在上次回复中少了一行代码(for),导致运行报错。对代码进行修改:
<?php
header("content-type:text/html;charset=utf-8");
function fun($a,$b){
global $sum;
if (is_numeric($a) && is_numeric($b)){
//假设数值为2和3,那么就是$i初识值1,使用一个变量$sum接收值并相加,直到$i小于等于3时循环结束而每次循环$i值+1。
for ($i=$a;$i<=$b;$i++){
$sum+=$i;
}
echo $sum;
}
}
fun(2,4);
?>给您的学习带来不便,深感抱歉!
好帮手慕小尤
2019-07-17
同学你好,for循环错误,导致计算数据不正确。代码如下:
<?php
header("content-type:text/html;charset=utf-8");
function fun($a,$b){
global $sum;
if (is_numeric($a) && is_numeric($b)){
//假设数值为2和3,那么就是$i初识值1,使用一个变量$sum接收值并相加,直到$i小于等于3时循环结束而每次循环$i值+1。
$sum+=$i;
}
echo $sum;
}
}
fun(2,3);
?>祝学习愉快!
相似问题