三元运算符 a = b ?: c 是什么意思

注意:我很清楚 a = b ? c : d 是什么意思,可这不是我要问的问题。

三元运算符 a = b ?: c 是什么意思。注意, ?和: 是在一起的

阅读 20.3k
5 个回答

a = b ?: ca = b ? b : c 的简写。

b = true
c = false
a = b ?: c  // a = true

b = false
c = true
a = b ?: c // a = true

虽然题主的问题的标签是C和C++,但我写了一个PHP的脚本测试了一下,结果如下:

php<?php
$b = true;
$c = false;
$a = $b ?: $c;
var_dump($a); // 输出true

$b = false;
$c = true;
$a = $b ?: $c;
var_dump($a); // 输出true

从输出结果来看,a = b ?: c的意思就是:如果btrue,则a = b,如果bfalse,则a = c

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