c语言中 x++,x+y,y+=x,z=x+y

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:05:35
c语言中:int x=2,y=3,z
z=(x++,x+y,y+=x,x+y)
请问下:前面一个x+y和后面的一个有关系?答案是9?对吗?怎么算的。求求知道的大哥告诉一下。很thanks!!

c语言中:int x=2,y=3,z
z=(x++,x+y,y+=x,x+y) 答案是9 没错.
(x++,x+y,y+=x,x+y)这是一个逗号表达式,
它的值是最后一项的值 即(x+y)的值.
首先x++ x变成了3,
接着x+y 对结果没有影响x和y都没有变化 结果3+3=6,
接着y+=x y变成了6(x=3,y=3 3+3=6)
接着又x+y 结果为9(x=3,y=6 3+6=9)
int x=2,y=3,z
z=(x++,x+y)
如果你这样写答案肯定是6
逗号表达式,它的值是最后一项的值
首先x++ x变成了3,
接着x+y 结果3+3=6,

不明就把数字代入去,计一计,好快你就会明的了..

z=(2<x=3>,6,6<y=6>,9)
z=9
x+y如果没有赋值给任何变量就不影响其后的运算,接着往后算就行了.

这样的语言格式好奇怪阿,你的意思是z的值是经过后面几部的计算得到的?
如果是这样的话,那么:
x++后,x=3,y=3
x+y=6
y+=x相当于y=y+x,所以x=3,y=6
最后计算x+y=9
所以z=9