C ++ условный оператор ?:
Exp1 ? Exp2 : Exp3;
В чем, EXP1, exp2 и экспрессия exp3. Пожалуйста, обратите внимание на использование двоеточия и местоположения. : Выражение зависит от величины результата вычисления EXP1. Если EXP1 верна, то вычисленные результаты расчета значения exp2 и сравнили всей exp2 :? Expression. Если EXP1 ложно, то значение exp3 вычисляется и сравнивается с результатами exp3 весь :? Expression.
? Называется тернарный оператор, так как он требует трех операндов, как показано ниже, может быть использован вместо того, чтобы, если-другое заявление:
if(condition){ var = X; }else{ var = Y; }
Например, рассмотрим следующий код:
if(y < 10){ var = 30; }else{ var = 40; }
Приведенный выше код может быть записан в следующем заявлении:
var = (y < 10) ? 30 : 40;
При этом, если у меньше 10, то Var присваивается 30, если у не менее 10, а затем вар назначается 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