Cは、条件演算子++を?:
Exp1 ? Exp2 : Exp3;
ここで、Exp1の、数Exp2とExp3表現。 コロンと場所の使用に注意してください。 ?:式の計算結果Exp1のの値に依存します。 Exp1のが真の場合、計算値数Exp2計算結果と全体数Exp2 :?発現を比較しました。 Exp1のがfalseの場合、計算された結果と比較値Exp3は全体:?式をExp3。
?それは3つのオペランドを必要とするので、代わりにif-else文を用いることができ、以下に示すように、三項演算子呼び出されます。
if(condition){ var = X; }else{ var = Y; }
たとえば、次のコードを考えてみます。
if(y < 10){ var = 30; }else{ var = 40; }
上記のコードは次の文で書くことができます。
var = (y < 10) ? 30 : 40;
yが10未満である場合、yが10未満でない場合、ここでは、varは、30が割り当てられ、その後、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