7个回答
展开全部
只要了解条件表达式的组成就不难明白
a<b?a:c
当问号前(a<b)为真(非0)就取a,否则c
符号优先级都是从左至右
翻译为
if(a<b) return a;
else {if(c<d)return c; else return d;}
或者
if(a<b) return a;
else if(c<d) return c:
else return d;
a<b?a:c
当问号前(a<b)为真(非0)就取a,否则c
符号优先级都是从左至右
翻译为
if(a<b) return a;
else {if(c<d)return c; else return d;}
或者
if(a<b) return a;
else if(c<d) return c:
else return d;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a<b?a:c<d?c:d
?运算符是右结合性=》1<4?1:(3<2?3:2)=>1〈4?1:2=〉1
1<4?1:(3<2?3:2)=>1
结果为2
?运算符是右结合性=》1<4?1:(3<2?3:2)=>1〈4?1:2=〉1
1<4?1:(3<2?3:2)=>1
结果为2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从右往左运算
c<d?c:d=2
a<b?a:2=1
所以为1
c<d?c:d=2
a<b?a:2=1
所以为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a<b?a:(c<d?c:d)
a<b?a:2
1
值为1
a<b?a:2
1
值为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询