C/C++ 三元運算子
三元運算子的語法如下 −
(expression-1) ? expression-2 : expression-3
此運算子根據一個表示式的結果返回兩個值中的一個。如果“表示式-1”求值為布林真值,則求值表達-2 並將其值返回為最終結果,否則求值表達-3 並將其值返回為最終結果。
示例
我們編寫一個程式,使用三元運算子求兩個數字中的最大值。
#include <iostream> using namespace std; int main() { int a = 10; int b = 20; int max = a > b ? a : b; cout << "Maximum value = " << max << "\n"; return 0; }
如果我們將三元運算子的語法與上面示例進行比較,則 −
- 表示式-1 是 (a > b)
- 表示式-2 是 a
- 表示式-3 是 b
首先,求值表示式 a > b,它求值為布林假值,因為變數 'a' 的值小於變數 'b' 的值。因此,變數 'b'(即 '20')的值被返回,它變為最終結果並被賦值給變數 'max'。
輸出
當你編譯並執行上述程式碼時,它將生成以下輸出 −
Maximum value = 20
廣告