问答详情
源自:6-7 PHP中循环结构之while循环语句

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

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

提问者:iaiotas 2017-03-23 23:02

个回答

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

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

  • 抗锄头看日出
    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 "终于吃饱啦^_^";

    ?>

    跟空格没关系

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

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