问下,c语言里x+=y+=z是什么意思啊?

谁能帮我解开这道题?

x+=y+=z相当于这个语句:y=y+z,x=x+y;
我写下执行过程,楼主看看就应该明白了。
x+=y+=z;那么y=y+z,所以y==2;x=x+y,所以x==5。
执行printf();由于x<y为假,所以x<y==1,输出1\n。
z=y=x++*3;那么y=y+x++*3,相当于y=y+x*3,x++;所以y==15,x==6;z=y,那么z==15;执行pringf();由于y>=z为真,所以输出1,6\n。
x=y>z>=5;关系运算符优先级高于赋值运算符,所以先执行y>z>=5,由于y>z为假(上面已经得到y==z==15),所以y>z==1,由于1>=5为假,所以x=0。那么x==0,y==15,z==15,输出0,15,15\n。
希望对你有些帮助。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-23
优先级的问题,由运算符的结合性,+=是右结合的
从右边开始看
首先y+=z;也就是y赋值为原来的值增加z
即y = y+z;
然后
x +=y;
也就是x = x +y;
关于这个代码。首先执行了x+=y+=z;之后x、y、z依次为5,2,0
x<y为假,因此第一个数据为
0;
y=x++*3;后缀 自增操作,首先y的值是y = x*3;也就是15,而x变成了6;z赋值为y,也就是15。
所以第二行结果为
1(y和z相等),6
最后一句x = y > z>=5;
由运算符的结合性从赋值号右边看起。首先是y>z这个是错误的,所以结果为
x = 0>=5;这个值为假,结果为x = 0;
此时y、z的赋值不变。所以结果为
0,15,15
第2个回答  推荐于2017-11-23
1: x+=y+=z
y = y+z = 2; x = y+x = 2 + 3 = 5;
printf: x < y (5<2),错误,所以结果是0;

2:z=y=x++*3
y = x*3 = 5*3;x++; x = 6; z=y=15;
printf: y>=z,(15>=15),正确,结果为1;
x = 6;结果为6
所以输出1,6

3:x = y > z >= 5
首先要知道运算符 < <= > >= 是左结合性的
而= *= /= %= += -= <<= >>= &= |= ^= 是右的
z = 15; y = 15; x = 6;
y > z , 错误,结果为0
0 >= 5, 错误,结果为0
x = 0
所以输出0,15,15本回答被提问者采纳
第3个回答  2010-08-23
不难不难 如果是题的话 忍吧
如果是你自己编的 那改吧
c千万别弄那种看不懂得复杂句法
不过这题不难 从右向左走
等价于
y=z+y;
x=y+x;
第4个回答  2010-08-22
答案——绝对正确,我用我华为工程师证担保!!!

y=y+z;
x=x+y;

问下,c语言里x+=y+=z是什么意思啊?
x+=y+=z相当于这个语句:y=y+z,x=x+y;我写下执行过程,楼主看看就应该明白了。x+=y+=z;那么y=y+z,所以y==2;x=x+y,所以x==5。执行printf();由于x<y为假,所以x<y==1,输出1\\n。z=y=x++*3;那么y=y+x++*3,相当于y=y+x*3,x++;所以y==15,x==6;z=y,那么z==15;执...

c语言里x+=y+=z是什么意思
1、y+=z结果为y=y+z,即y=5 2、x+=y+=z就变为了x+=5,可算出x的值为1+5,即为6

C语言中x+=y+=z的运算思路是怎么样的?
2. x+=y,计算后,x=x原+y原+z原,y=y原+z原,z=z原。

int x,y,z; x=3; y=2; z=0; x+=y+=z; 这个C语言代码是什么时候意思?x...
{ int x,y,z; x=3; y=2; z=0; x+=y+=z; \/\/右结合,y=y+z=2;x=x+y=3+2=5;printf("x=%d,y=%d,z=%d\\n",x,y,z);return 0;}

c语言编程中z=(x++,y++)是什么意思? 如果x=1 Y=2 那么z是几 z是按 ...
逗号也是c++中的一种运算符,返回逗号右边表达式的值。所以上述使用方法等价于z=(1,2) = 2。即y++的值赋值给z。注意后自增而不是前自增,后自增优先级高于逗号运算符就可以了。

C语言 x+=y,什么意思?最好能说下为什么
+=就是左边那个等于左边那个加上右边那个的和。赋值语句。即:x=x+y

c语言中 x<y?x:z<w?y:w是什么意思
?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。相当于:if (x>y){z=x;} else {z=y;}

c语言中x+=++y什么意思
首先是++y,是指在使用y之前,对y进行+1操作。y就变为y+1了。然后执行x+=操作,是指x+(y+1),然后结果赋值给x。

下面这道C语言是什么意思?
你把图片另存为到桌面 在打开可以放大就清楚了 ~_~看图说话把。你去看看c语言的逗号运算符。 还有复合赋值运算符 其实就是z=(x+=y,x\/y)这个表达式最终的值或者最终那个变量的值作为printf的参数而已。搞清楚运算符的集合性,优先级这些都不是问题咯 ...

C语言中x+=y,x-=y分别表示什么意思
x+=y 就是x=x+y的简写。x-=y 就是x=x-y的简写 1、+=; -= 是复合的赋值运算符。2、C语言采用复合运算符 一是简化程序。二是为了提高编译效率,能产生质量较高的目标代码。3、延伸知识点:x*=y 就是x=x*y的简写,依次类推。

相似回答