如果喂食后$sum已经大于100了,还是会继续打印“我还没吃饱呢”,才能终止循环?

来源:6-7 PHP中循环结构之while循环语句

iaiotas

2017-03-23 23:02

看这个代码 如果喂食后$sum已经大于100了,还是会继续打印“我还没吃饱呢”,然后回到开始的条件判断那里,才能发现$sum大于100终止循环吧?很奇怪

写回答 关注

5回答

  • 默趺
    2017-03-23 23:56:51
    已采纳

    这段代码是有这个问题的,会多打印一次"我还没吃饱呢"

    iaiota...

    非常感谢!

    2017-03-25 15:42:39

    共 1 条回复 >

  • 抗锄头看日出
    2017-06-10 11:25:40

    其实最后一次我没吃饱跟我吃饱了的值是一样的

  • 梵音音音
    2017-04-20 16:19:53

    <?php

    $sum = 12;//小宠物当前的饥饿程度

    echo "我饿啦:-(";

    echo "<br />";

    $count =0;

    while($sum<100){//小宠物的饥饿程度到100,表示小宠物吃饱啦,不用继续喂了,没吃饱继续喂食

        $num = rand(1,20);//随机数,模拟喂食小宠物的小面包

        echo "本次喂食:".$num."  ,";

    $sum = $sum + $num; //小宠物吃小面包

    $count++;

    echo "当前喂食次数:".$count."<br />";

    if($sum<100){

       echo "我还没吃饱呢!";

    }

    echo "当前体力值为:".$sum."<br />";

    echo "<br />";

    }

    echo "终于吃饱啦^_^";

    ?>

    打印之前判断下就好了,不过每次循环都判断会影响效率

  • 慕慕5656945
    2017-03-28 16:51:11

    <?php

    $sum = 12;//小宠物当前的饥饿程度

    echo "我饿啦:-(";

    echo "<br />";

    while($sum<100){//小宠物的饥饿程度到100,表示小宠物吃饱啦,不用继续喂了,没吃饱继续喂食

        $num = rand(1,20);//随机数,模拟喂食小宠物的小面包

    $sum = $sum + $num; //小宠物吃小面包

    if($sum>=100)

    {

       break;

    }

    echo "我还没吃饱呢!";

    echo "<br />";

    }

    echo "终于吃饱啦^_^";

    ?>

    跟空格没关系

    iaiota...

    谢谢你~

    2017-03-30 20:36:26

    共 1 条回复 >

  • 归零者_一条
    2017-03-24 17:44:27

    ”<“用了空格好像就会有这个问题

    iaiota...

    跟空格有关??

    2017-03-25 15:43:50

    共 1 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

455995 学习 · 6306 问题

查看课程

相似问题