|
条件运算符计算表达式,如果该表达式的计算结果为 ,则返回一个值,如果表达式的计算结果为 ,则返回另一个值。其语法为:
如果 是 ,则整个表达式的计算结果为 ,否则计算结果为 。truefalsecondition ? result1 : result2conditiontrueresult1result2
7==5 ? 4 : 3 // evaluates to 3, since 7 is not equal to 5.
7==5+2 ? 4 : 3 // evaluates to 4, since 7 is equal to 5+2.
5>3 ? a : b // evaluates to the value of a, since 5 is greater than 3.
a>b ? a : b // evaluates to whichever is greater, a or b.
例如:
// conditional operator
#include <iostream>
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;
c = (a>b) ? a : b;
cout << c << '\n';
}
在此示例中,是 2,并且是 7,因此要计算的表达式 () 不是 ,因此在问号之后指定的第一个值被丢弃,取而代之的是第二个值(冒号后面的值),即 (值为 7)。aba>btrueb
|
|