这个逻辑运算工作有什么问题?

时间:2013-11-11 02:15:40

标签: c++ logical-operators

我试图创建一个if语句来验证用户的赌注是100,300还是500.我做错了什么?

if ((roundBet != 100) || (roundBet != 300) || (roundBet != 500))
{
    cout << "Incorrect input";
    // Call round again
    newRound();
}

2 个答案:

答案 0 :(得分:1)

if ((roundBet != 100) || (roundBet != 300) || (roundBet != 500))

对于所有true,这将评估为roundBet,因为数字不是100(roundBet != 100 true)或100(不是300,roundBet != 300是真的)

您需要的是:

if ((roundBet != 100) && (roundBet != 300) && (roundBet != 500))

答案 1 :(得分:0)

其中一个替代方案永远都是正确的,因为如果roundBet100,那么它将与300500不同。

使用逻辑AND &&