- 如果在条件语句中,只执行单个的赋值语句时,可使用条件表达式来实现。条件运算符为“?”,它是一个三目运算符,即有三个参与运算的量。
- 由条件运算符组成的条件表达式的一般形式为: 表达式1?表达式2:表达式3
- 执行过程:当表达式1为真,则表达式2作为条件表达式的值,否则以表达式3作为条件表达式的值。
- 例如:当x=6,y=7,条件表达式x>y?x:y的结果为7
- 使用条件表达式的注意点
- 运算优先级:条件运算符<关系运算符和算数运算符,条件运算符>赋值运算符
- *x = *y = *x>*y? *x:*y;//把*y,*x中较大的值赋给*x和*y
- *x = *y = *x>*y? *x:*y;//把*y,*x中较大的值赋给*x和*y
- "?"和":"是一对,不可分
- 条件运算符从右向左结合
- a>b?a:c>d?c:d 等价于 a>b?a:(c>d?c:d)
- 运算优先级:条件运算符<关系运算符和算数运算符,条件运算符>赋值运算符