条件运算符?和:是什么意思
条件运算符(?:)是三元运算符,即有三个操作数。
使用条件运算符(?:),如果else函数可以实现,其一般形式为:
表达式1:表达式2:表达式3。
例如:条件语句:
如果(a > b) Max = a;else Max = b;条件表达式可以写成:Max = (a > b)?A: b,执行此语句的语义是:如果a>b为真,则将源a赋给Max,否则将b赋给Max。
扩展资料:
条件运算符的优先级高于赋值运算符、逗号运算符,低于其他运算符。
例如:
(1) m < n?X: a + 3
也就是(m(x)(a+3))
(2)作文a++>=10 && b——>20?A: b
等于:a++>=10 && b——>20)?A: b
(3) x = 3 + a > 5?100 - 200
也就是x=(3+abb0,5)100:200)
条件运算符(?:)是C语言中唯一具的三目运算符,就是说它有三个运算对象。条件运算符的形式是"? :"由它构成的表达式称为条件表达式
例如条件语句:
if(a>b) max=a;else max=b;可用条件表达式写为
max=(a>b) ? a : b;
执行该语句的语义是:如a>b为真,则把袭a赋予max,否则把b 赋予max。
扩展资料:
条件运算符优先级高于赋值、逗号运算符,低于其他运算符。例如:
⑴ m<n ? x : a+3
等价于:(m<n) ?(x) :(a+3)
⑵ a++>=10 && b-->20 ? a : b
等价于:(a++>=10 && b-->20) ? a : b
⑶ x=3+a>5 ? 100 : 200
等价于:x= (( 3+a>5 ) ? 100 : 200 )
条件表达式的形式为:
表达式1 ? 表达式2 : 表达式3
例如:(a>b)?a+b:a-b
其中,如果a=2,b=1,那么a>b成立,执行a+b这个表达式,运算结果为3;但如果a=2,b=3,那么a>b不成立,那么执行a-b这个表达式,运算结果为-1.