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

admin2012-12-03  24

问题 执行下列程序后,变量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

解析 本题考查自加(++)、自减(--)运算符的使用。“++x,--x”,在变量x前使用,先使x的值加1或者减1,再使用此时的表达式的值参与运算;“x++,x--”,先把使用x的值参与运算,在使用x之后,再使x的值加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。故B正确。
转载请注明原文地址:https://jikaoti.com/ti/kwB0FFFM
0

最新回复(0)