C ++如果x大于y乘以3

时间:2015-04-12 07:52:53

标签: c++ if-statement

我有一个if语句,检查x变量是否大于y变量3 ...但是,我不确定这是否是正确的方法。

if ((x[i] > y) == 3) //if x-variable more than y-variable by 3, execute it
{
    slave_hours[i] == 0;
    slave_no = slave_no - 1;
}

任何人都可以帮忙吗?谢谢

编辑:我应该说3或更多

3 个答案:

答案 0 :(得分:3)

表达式(x[i] > y)是一个布尔值,在此上下文中将其转换为整数(01),但几乎不会达到3。所以总是会跳过分支。

如果您的值x[i]y是整数,那么就区别对待:

if (x[i] - y == 3) {...}

如果这些是浮点数,由于数字表示,事情正在变为more complicated

编辑:同样适用于您更新的问题(if (x[i] - y >= 3) {...}),但浮点问题可能并不重要。

答案 1 :(得分:3)

您可以将条件更改为:

if (x[i] == (y+3))

将解决您的问题。

答案 2 :(得分:1)

 if (x[i] > (y + 3))
        {
            //Do this;
        }
        else 
        {
            //Do this;
        }

希望这会有所帮助。