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

admin2010-09-05  39

问题 执行下列程序段后,变量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://kaotiyun.com/show/GgWp777K
0

最新回复(0)