c语言运算符的运算类别

a=1,b=2,c=3,d=4
a<b?b:c<d?a:b的结果为什么是2
(小白求详细解答一下)

这是3目运算符,学会分配就好:
1、基本用法:① ? ② : ③ 判断① 是否为真,① 是真执行②, ① 是假执行③
2、变形:a-b?b- c : c -a 同上a-b为① ,① 若为真执行②(b-c),①为假执行③(c-a)
所以你的问题自己划分一下① ? ② : ③就很好解决了
(a< b)? b : (c<d ? a : b)
a<b为① b为② c<d ? a : b为③