c++中的运算符“ ?: ”是什么关系?

2024-11-28 20:39:16
推荐回答(1个)
回答1:

三目运算符是?:结构的运算
所谓三目就是需要三个变量对能进行运算的操作
举个例子:
2>1?A:B
答案就是A
先算“?”前面的,若前面成立就执行:前面的(A),反之就执行后面的(B)

再举个简单的例子:
a=2>1?3:4
可分成几个部分,用括号分开:
(a=)(2>1)?(3):(4)
最左边是赋值操作
第二个部分是一个判断
第三和第四部分是两个常数
首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分
像上面那个2>1成立,所以就执行了a=3

这种运算还可以嵌套
比如判断year是不是闰年,是则返回1,不是返回0
year=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)