“while”循环没有结束它应该

时间:2014-07-18 18:09:37

标签: c++ c

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

        int oldpick = 6;
        int pick = rand() % 5;

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

2 个答案:

答案 0 :(得分:2)

pick = oldpick

这会将oldpick的值分配给pick,然后进入循环。我想你想要==

while (pick == oldpick){

此外,这一行:

pick = rand() % 5;

不会给出高于4的数字,因此即使使用==

,也无法实现该条件

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

答案 1 :(得分:2)

你的while循环条件中有一个简单的印刷错误......

while (pick = oldpick)等于while (pick == oldpick)或等于while (pick != oldpick)

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