c++ - 三元运算符 a = b ?: c 是什么意思
高洛峰
高洛峰 2017-04-17 11:58:50
0
5
1339

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

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(5)
洪涛

幫你搜尋了一下,見StackOverflow

Ty80

a = b ?: ca = b ? b : c 的簡寫。

黄舟

雷雷

左手右手慢动作

雖然題主的問題的標籤是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

伊谢尔伦

格式應該是

(boolean表達式) ? a : b

若boolean表達式的內容為true,則a。
若boolean表達式的內容為false, 則b。

舉例:

javapublic int test(int a) {
    if (a > 0) {
        return 1;
    } else {
        return -1;
    }
}

上面這個if-else可以用三元運算來代替,如下:

java    public int test(int a) {
        return (a > 0) ? 1 : -1;
    }
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板