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

admin2010-09-05  20

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

答案2

解析 本题考查自加(++),自减(--)运算符的使用。“++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/NiWp777K
0

最新回复(0)