1楼:草柏渡
首先你这程序有错误的判断--x=y++就好。
在前面++或就--就是先++或--再用数;在后面就先就是先用数在++或--
所以--x=y++是对的。所以a=--x;所以a=8的(经过两个--)。
b=x++;先赋给b再++。所以b=8.x为9.
c等于y。y等于10.(:++y)是没有执行到的。
5) 执行以下程序段后、变量a,b,c的值分别是一。 int x=10,y=9; int a,b,c; a =(- -x = = y++)?- -x:++y ; b
2楼:匿名用户
选:bint x = 10, y = 9;
int a, b, c;
a = (--x == y++) ? --x : ++y;
//x先进行 -- 运算,再进行比较
//y先进行比较,再进行 ++ 运算
//同: if(x == y)else
b = x++;
//x先进行赋值,再进行 ++ 运算
//同: b = x;x++;
c = y;
//因为在前面的 a = ( --x == y++), y 已经进行过 ++ 运算了,所以 y 的值已经成为 10 了
int x =10,y=9; int a,b,c; a= (x- -=y++)?x- -:y++; b=x++; c=y; 求a,b,c 答案10,9,11;要分析过程!谁帮
3楼:狂一户
你这题应该是(x--==y++)吧?
我照这个算
(x--==y++)相当于(x==y,x-1,y+1)后自减(加)相当于先对值进行操作(如附值或象for语句)然后再进行减(加)1。所以上面的语句先x和y进行比较,然后各自减1和加1。这个过程后x=9,y=10。
因为x和y不等,所以a=y++。这个式子相当于a=y,y+1(该懂了吧)。这个过后a=10,y=11。
然后b=x++,相当于b=x,x+1。这个过后b=9,x=10。然后c=11。
手机打的……累啊
4楼:匿名用户
++表示自加,--表示自减
。++在前面的(比如x=++a)a先自加,再赋值给x;++再后面的则先 赋值,再自加。--同理。
a= (x- -=y++)?x- -:y++; 是一个三目预算,意思是如果?前面的等式(也就是(x- -=y++))成立,则a=x--;如果不成立,则选a=y++。
a= (x- -=y++)?x- -:y++; 首先判断x- -=y++是否成立,--和++都是在后面的,所以判断x=y(注意判断玩之后还要做x--和y++);不成立,则a=y++;也就是先赋值a=y=10(因为前面已经做过一次y++);在做y++,y=11;
b=x++,先赋值b=x=9(因为前面已经做过一次x--),在做x++,x=10
c=y=11(前面得出)
5楼:匿名用户
a=(x--=y++)?x--:y++;
挺复杂的
分解一下
首先变成:
if(x--=y++)
a=x--;
else a=y++;
再分解一下
x--=y++;
if(x!=0)
else
将x--=y++分解
x=y;
y++;
x--;
b=x++;
分解为b=x;
x++;
c=y;
6楼:匿名用户
题目是不是有问题(x- -=y++)?x- -:y++; 确定是这样的?
如果是比较的话应该是a>b?a:b 你的题目怎么中间是等号啊 不懂事什么意思
int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; cout<
7楼:
a=(--x==y++)?--x:++y;
先判断--x==y++是否为真,--x,将x的值减1,取其值,结果是9,y++先取y的值为9,然后其值加1,y=10
所以--x==y++ 为真,所以 a=--x=8b=x++; 先取x的值8,再将其值加1,所以b=8,x=9c=y=10
所以最后结果就是8 8 10
主是理解前增(前减)和后增(后减)区别,++x和x++的区别在于++x先把x的值加1,再取其值,而x++是先取其值,再把值加1
a?b:c的意思是a成立,则执行b,否则执行c希望能帮到你。。。
int x =10,y=9; int a,b,c; a= (- -x=y++)?- -x:++y; b=x++; c=y; 求a,b,c 答案8,8,10;要分析过程!谁帮
8楼:匿名用户
a= (- -x=y++)?- -x:++yx先自减1 然后跟y对比 x-1=9 y=9 所以x=y=9; 结束对比后,y++=9+1=10
所以a=(--x) =9-1=8
c=y=10
b=x++; 意思是把x的值付给b后,再进行自加1,所以b=x=8
9楼:匿名用户
因为--x=9,y++=9,y=10,得c=10所以(--x=y++)?为真++y不执行,那就只执行了--x,y++,--x,x++,
a为x-2=8,此时运行了两次--x,每次--x减一,x也减一b为x-2=8,x++此时运行了自加,x++还等于8,但x加一等于9
10楼:过时的
先算--x是9,9和y的值相同,然后同时还要算一次y++,所以此时x=9,y=10,然后执行a=--x,a=8,b=x++,先执行b=x,b=8,再执行x++,x=9,最后,c=y,所以c=10。
11楼:邢廷洋
有:a=(--x=y++)?--x;++y 可知--x=y++这是一个正确的命题,同时x此时为9,y仍然为9.
然后再执行肯定语句即 ---x此时x为8.跳出这个语句【以分号间隔】y加1等于10.然后。
将x=8赋给b,在x加1为9.所以a=8b=8c=10.
12楼:匿名用户
“那个应该是这样(--x==y++)”
执行以下程序段后,变量a,b,c的值分别是
13楼:匿名用户
您好,很高兴能为您解决问题。
intx=10,y=9;
//声明变量x=10,y=9;
inta,b,c;
//声明变量a,b,c
a=(--x==y++)?--x:++y;
//if(--x==y++)
//--x;
//else
//++y;
b=x++;
//给b赋值为x++
c=y;
//给c赋值为y
分析:x=10
y=9
a=如果(--x等于y++),则是--x(也就是9,这时x是8),否则是++y(也就是11,这时y是11)//这里说一声,--x指的是给x-1,得到的是x-1;y++指的是给y+1,得到的是y
(条件成立,a=9)
b=x++(也就是8,这时x是9)
c=y(也就是11)
14楼:彼岸之恋
++y和y++不一样,++y是y先自身加一再使用现在的y值,而y++则是先使用y值,而后y值在自身加一
15楼:匿名用户
a=(--x==y++) --x=x-1=9 y++=y=9此后 x=9,y=10
b=x++=x=9
此后x=10
c=y=10
故a=9,b=9,c=10
intx=10,y=9;inta,b,c;a=(x--=y++)?x--:y++;b=x++;c=y;求a,b,c答案10,9,11;要分析过程!谁帮
16楼:戚洁卓春
++表示自加,--表示自减。++在前面的(比如x=++a)a先自加,再赋值给x;++再后面的则先赋值,再自加。--同理。
a=(x--=y++)?x--:y++;是一个三目预算,意思是如果?前面的等式(也就是(x--=y++))成立,则a=x--;如果不成立,则选a=y++。
a=(x--=y++)?x--:y++;首先判断x--=y++是否成立,--和++都是在后面的,所以判断x=y(注意判断玩之后还要做x--和y++);不成立,则a=y++;也就是先赋值a=y=10(因为前面已经做过一次y++);在做y++,y=11;
b=x++,先赋值b=x=9(因为前面已经做过一次x--),在做x++,x=10
c=y=11(前面得出)
执行以下程序段后,a,b,c的值分别是( ) 。 int a
17楼:纷采
原本我是这样想的
a= (9 == 9)?8:10;
if(8 < 9)
b = 8;
c = 11;
但是现实是
所以是a = (9 ==9)?8:not use;
if( 8 < 9)
b = 8;
c = `10;
#include
18楼:阿冬
--x //x变为9
--x==y //表达式结果为真,即为1y++ //y变为10
问号之前结果为真,执行--x,x变为8,所以a=8b等于x++执行之前的值,即b=8,然后x变为9c等于y,即c=10