问号字符 ('?') 在 C 中是什么意思?

新手上路,请多包涵
int qempty()
{
    return (f == r ? 1 : 0);
}

在上面的代码片段中,“?”是什么意思?意思是?我们可以用什么来代替它?

原文由 Thaier Alkhateeb 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 719
2 个回答

这通常被称为 条件运算符,当这样使用时:

 condition ? result_if_true : result_if_false

… if the condition evaluates to true , the expression evaluates to result_if_true , otherwise it evaluates to result_if_false .

它是 语法糖,在这种情况下,它可以替换为

int qempty()
{
  if(f == r)
  {
      return 1;
  }
  else
  {
      return 0;
  }
}

注意: 有些人将 ?: 称为“ 三元运算符”,因为它是他们使用的语言中唯一的三元运算符(即带三个参数的运算符)。

原文由 Daniel LeCheminant 发布,翻译遵循 CC BY-SA 2.5 许可协议

它读作:

 If f == r then return 1 else return 0

原文由 Dan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏