English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operatore condizionale ? : del C++

运算符C++

Exp1 ? Exp2 : Exp3;

In cui, Exp1, Exp2 e Exp3 sono espressioni. Si prega di notare l'uso e la posizione del punto e virgola. L'espressione ? : ha come valore il risultato di Exp1. Se Exp1 è vero, viene calcolato il valore di Exp2 e il risultato di Exp2 diventa il valore dell'espressione ? :. Se Exp1 è falso, viene calcolato il valore di Exp3 e il risultato di Exp3 diventa il valore dell'espressione ? :.

? è chiamato operatore ternario, poiché richiede tre operandi e può essere utilizzato per sostituire le seguenti istruzioni if-else:

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

Ad esempio, guardate il seguente codice:

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

Il codice sopra può essere scritto come segue:

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

Ecco un esempio: se y è minore di 10, var viene assegnato il valore 30, se y non è minore di 10, var viene assegnato il valore 40. Ecco un esempio:}}

#include <iostream>
namespace std using
 
main int
{
   // 声明变量局部
   int x, y = 10;
 
   x = (y < 10) ? 30 : 40;
 
   cout << "值x: " << x << endl;
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

值x: 40

运算符C++