概念
概念::三目运算也叫条件运算或三元运算,有的也叫问号表达式,可以实现简单if语句的功能,但是书写更加简洁。
语法
语法:表达式一?表达式二:表达式三
计算步骤:先计算表达式一的值,如果为真,整个表达式的结果为表达式二的值,如果为假,整个表达式的结果为表达式三的值。
例题
例题一:
功能:找出两个数(a,b)的最大值,并输出
int a = 7, b = 9, c;
c = a > b ? a : b;
cout << "c = " << c << endl;
改为if表达式
if(a>b) c=a;
else c=b;
cout << "c = " << c << endl;
例题二:
功能:找出a,b,c这三个数的最大值,赋值给d,并输出。
int a=17,b=19,c=11,d;
d=(a>b?a:b)>c?(a>b?a:b):c;
cout<<"d = "<<d<<endl;
注:计算顺序为从左到右,由例题一得,表达式(a>b?a:b)结果取最大值。即原表达式为:b>c?b:c,取b,c两者最大值。
优缺点
其实三木运算就是条件语句if得简化,可简化多条语句为一条,可嵌套使用;但是请谨慎使用,过于复杂,不易理解。