求解。变量a,b,c的值分别是?int x 10,y

2020-11-24 05:05:35 字数 5039 阅读 8303

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 int main() { int x=10,y=9,a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; printf("a=

18楼:阿冬

--x //x变为9

--x==y //表达式结果为真,即为1y++ //y变为10

问号之前结果为真,执行--x,x变为8,所以a=8b等于x++执行之前的值,即b=8,然后x变为9c等于y,即c=10