无法理解一条线的工作

时间:2016-12-17 16:09:26

标签: c++ c if-statement conditional

我在线帮助完成了我的任务。我发现这段代码,但我不知道实际工作,因为我以前从未在c ++中使用过这样的语法。 (?)问号和(:)冒号。任何一个提供简单的通用语法代码解释同一行吗?

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

2 个答案:

答案 0 :(得分:2)

这意味着

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

答案 1 :(得分:0)

这称为三元运算符,它用于简短的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);
}