【问题标题】:C++ if x more than y by 3C++ 如果 x 比 y 大 3
【发布时间】:2015-04-12 07:52:53
【问题描述】:

我有一个 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 或更多

【问题讨论】:

  • if (x[i] > (y +3))
  • @πάντα ῥεῖ 我认为 OP 正好是 3。因此,if (x[i] == (y + 3))。
  • @LogicStuff "...如果 x 变量更多..."

标签: c++ if-statement


【解决方案1】:

表达式(x[i] > y) 是一个布尔值,在这种情况下它被转换为一个整数(0 或1),但几乎不会达到3。所以分支总是会被跳过。

如果您的值 x[i] 和 y 是整数,只需取差:

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

如果这些是浮点数,则由于数字表示,事情会变得more complicated。

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

【讨论】:

    【解决方案2】:

    您可以将条件更改为:

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

    会解决你的问题。

    【讨论】:

    • ...大于 y 变量 3...,不等于
    【解决方案3】:
     if (x[i] > (y + 3))
            {
                //Do this;
            }
            else 
            {
                //Do this;
            }
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多