执行下列程序段后,变量a,b,c的值分别是多少?intx=10,y=9,a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=10书上的答案是选B的可我理解不了
<p>问题:执行下列程序段后,变量a,b,c的值分别是多少?intx=10,y=9,a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=10书上的答案是选B的可我理解不了<p>答案:↓↓↓<p class="nav-title mt10" style="border-top:1px solid #ccc;padding-top: 10px;">陈挚睿的回答:<div class="content-b">网友采纳 这段程序先判断--x等不等于y++,--x先自减再比较所以是9,y++先比较再自加所以此时也是9,所以这个三目运算符(:)问号前面的判别式为真,所以执行冒号前面的表达式,变量x再次自减,此时x为8,之后先后执行b=x++;c=y;两条语句,注意此时y的值为10,不难发现答案为B
页:
[1]