循环c ++里面的比较

时间:2018-04-24 15:23:38

标签: c++ if-statement while-loop

我正在尝试制作用户类型编号时,程序应重复多次随机选择 这是我的代码

cin >> d;
c = 0;

while (c < d) {
    c = c++;
    num = (rand() % 3) + 1;
    if (num == 1) {
        system("start C:\\viewver\\vw");
        Sleep(2000);
    }
    else if (num == 2) {
        system("start C:\\viewver\\vw2");
        Sleep(2300);
    }
    else if (num == 3) {
        system("start C:\\viewver\\vw3");
        Sleep(1800);
    }

它总是选择先打开然后停止。

1 个答案:

答案 0 :(得分:0)

使用<DIV class=rvl-Rate-rateLabel data-reactid="1920">Current rate</DIV> <DIV class=rvl-Rate-rateNumber data-reactid="1921">0</DIV> 而不是==

=

if (num == 1) { system("start C:\\test\\vw"); Sleep(2000); } else if (num == 2) { system("start C:\\test\\vw2"); Sleep(2300); } else if (num == 3) { system("start C:\\test\\vw3"); Sleep(1800); } 用于比较,==用于作业

它始终选择第一个选项的原因是因为=(和C++)具有C值的概念。因此,任何非truthy的值都被认为是真实的,而评估为0的值则被视为0

在原始代码中,当您将falsy分配给num时,1的值是真实的,因此始终采用该分支

相关问题