我有一个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或更多
答案 0 :(得分:3)
表达式(x[i] > y)
是一个布尔值,在此上下文中将其转换为整数(0
或1
),但几乎不会达到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;
}
希望这会有所帮助。