"while"循环在应该结束的时候没有结束

"while" loop not ending when it should

本文关键字:结束 候没 while 循环      更新时间:2023-10-16

这是最基本的代码。即使条件为false,循环也会开始,并且不会结束。

        int oldpick = 6;
        int pick = rand() % 5;
        while (pick = oldpick){
            pick = rand() % 5;
        }
pick = oldpick

oldpick的值赋给pick,然后进入循环。我想你想要的是==

while (pick == oldpick){

同样,这一行:

pick = rand() % 5;

不会给出大于4的数字,因此即使有==

,该条件也永远无法实现。

如果在编译时激活了警告,所有这些都可以被看到。

while循环条件中有一个简单的排版错误…

while (pick = oldpick)等于while (pick == oldpick),不等于while (pick != oldpick)

另外,pick永远不会像6 % 5 == 5那样等于6