木有寸557

 

三目运算符

如果在条件语句中,只执行单个的赋值语句时, 常可使用条件表达式来实现。不但使程序简洁,也提高了运行效率。

条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:

 

表达式1? 表达式2:表达式3

其求值规则: 如果表达式1成立,则用表达式2的值作为条件表达式的值否则用表达式3的值作为条件表达式的值

例如:

if( a>b ) max=a;

else if( a<=b ) max=b;

可用三目运算符表示: max = a>b? a:b;

上述例子里表达式1 有2个常量(或变量)进行比较,也有只有一个常量(或变量)的表达形式, 如:

max = (a? 4:1);           -------->  if( a!=0 ) max =4; else if( a==0 ) max = 1

 

使用条件表达式时还要注意以下几点

1.条件运算符优先级低于关系运算符和算术运算符,但高于赋值符。 如:max = (a>b?)4:1 可写成 max = a>b?4:1

2. 三目运算符中的?和:是一对,不可分开使用

3.运算符的结合方向是自右向左

a>b?a:c>d?c:d 可理解成 a>b?a:(c>d?c:d) 

 

posted on 2013-06-04 21:28  小猪_你快跑  阅读(339)  评论(0编辑  收藏  举报

导航