Latest web development tutorials

C++ 條件運算符? :

C++ 運算符 C++運算符

Exp1 ? Exp2 : Exp3;

其中,Exp1、Exp2 和Exp3 是表達式。 請注意冒號的使用和位置。 ? : 表達式的值取決於Exp1 的計算結果。 如果Exp1 為真,則計算Exp2 的值,且Exp2 的計算結果則為整個? : 表達式的值。 如果Exp1 為假,則計算Exp3 的值,且Exp3 的計算結果則為整個? : 表達式的值。

? 被稱為三元運算符,因為它需要三個操作數,可以用來代替如下所示的if-else 語句:

if(condition){
   var = X;
}else{
   var = Y;
}

例如,請看下面這段代碼:

if(y < 10){ 
   var = 30;
}else{
   var = 40;
}

上面的代碼可以寫成以下語句:

var = (y < 10) ? 30 : 40;

在這裡,如果y 小於10,則var 被賦值為30,如果y 不小於10,則var 被賦值為40。 請看下面的實例:

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int x, y = 10;

   x = (y < 10) ? 30 : 40;

   cout << "value of x: " << x << endl;
 
   return 0;
}

當上面的代碼被編譯和執行時,它會產生下列結果:

value of x: 40

C++ 運算符 C++運算符