【问题标题】:Can not understand working of a line [duplicate]无法理解线路的工作[重复]
【发布时间】:2017-05-03 04:50:09
【问题描述】:

我在网上获得了一些帮助来完成我的任务。我找到了这段代码,但我不知道实际的工作原理,因为我以前从未在 c++ 中使用过这样的语法。 (?) 问号和 (:) 冒号。谁能提供一个简单的通用语法代码来解释同一行?

x = (i-coins[j] >= 0)? table[i - coins[j]][j]: 0;

【问题讨论】:

  • if(i-coins[j]>=0)
  • (条件(或三元)运算符)[cplusplus.com/articles/1AUq5Di1] " ?: 运算符根据表达式的结果返回两个值之一。: "
  • 如果在网上搜索 smth。像 "c++ what does the question mark mean" 并没有引导你找到你需要一个更好的搜索引擎的答案。

标签: c++ c if-statement conditional


【解决方案1】:

这意味着

if (i-coins[j] >= 0)
    x = table[i - coins[j]][j];
else
    x = 0;

【讨论】:

    【解决方案2】:

    这称为三元运算符,用于短 if-else 语句。

    int factorial(int number) {
      if (number < 1) {
        return 1;
      } else {
        return number*(number-1);
      }
    }
    

    上面的函数可以用三元运算符求和:

    int factorial(int number) {
      return (number < 1) ? 1 : number*(number-1);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 2017-10-11
      • 1970-01-01
      • 2022-06-12
      • 2014-04-08
      • 2012-01-24
      • 1970-01-01
      相关资源
      最近更新 更多