执行下列程序段后,变量a,b,c的值分别是( )。 int x=5,y=4; int a,b,c; a=(--x==y++)?x:++y; b=++x; c=y;

admin2010-12-10  40

问题 执行下列程序段后,变量a,b,c的值分别是(    )。    int x=5,y=4;    int a,b,c;    a=(--x==y++)?x:++y;    b=++x;    c=y;   

选项 A、a=5,b=5,c=5     
B、a=4,b=5,c=5
C、a=5,b=6,c=5     
D、a=1,b=5,c=6

答案B

解析  本题考查自加(++)、自减(--)运算符的使用。“++i,--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;“i++,i--”,先使用此时的i的值参与运算,在使用i之后,再使i的值加1或者减1。
对于第1个表达式--x=4,y++=4。两者相等,--x==y++为真,所以a=x=4,执行完此语句后y的值是5。
第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。
转载请注明原文地址:https://jikaoti.com/ti/kyB0FFFM
0

最新回复(0)