C语言中设X=2,Y=4;求(X++)+Y=?? 和1?(0?3:2):(10?1:0)怎样算结果??

如题所述

第1个回答  2012-03-02
X=2,Y=4;
(X++)+Y=6 (X++)的功能是先用后加。
1?(0?3:2):(10?1:0)
先算1?(0?3:2)得到2 再算(10?1:0)得到1
然后1?(0?3:2):(10?1:0) 1 为真 则最后得到的值是2

望楼主采纳追问

在这里怎不是计算括号里先的??

追答

这个也是可以先算括号里的但是(X++)的功能是先用后加
这种题目要根据它的优先级别
还有左结合性还是右结核性来计算的。

本回答被提问者采纳
第2个回答  2012-03-02
第一个是:6
第二个是:2
(x++) + y
2 + 4 = 6;
0?3:2, 结果是2(0,是假所以是2)
1?(1) : (2),因为1为真,所以,去第一个括号的值,即2
第3个回答  2012-03-02
顶楼上
++Y 是先自加 1 再用;
Y++ 是先用再自加 1 ;
X?Y :Z 是三目操作符,X 若为 真 就选 Y ,反之 Z !自己算。好好看书理解
第4个回答  2012-03-02
6和2
第一个 x++先用再自加1所以(x++)+y=6
第二个选择判断 0为假 !0为真
0?3:2 0为假所以是2
10?1:0 10为真 所以是1
1?(0?3:2):(10?1:0)即1?2:1
1为真所以是2
相似回答