表达式z=x++,y++,++y;与z=(x++,y++,++y);有什么区别?

如题所述

1:前者是Z=X++意思是X复制给了Z,而后面的Y是另外的变量。
2:Z是X,Y,Z一起复制给了Z。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-22
前者只是声明的一连串变量

后者只声明一个变量且是坐标形式的

表达式z=x++,y++,++y;与z=(x++,y++,++y);有什么区别?
1:前者是Z=X++意思是X复制给了Z,而后面的Y是另外的变量。2:Z是X,Y,Z一起复制给了Z。

程序z=x++,y++,++y;怎么算
z=x++:这个是首先把x的值赋给z,然后x再自加1。y++:这个是先用后加,比如:int y=2;printf(“%d”,y++);这个就运行结果的就是2,但如果再在后面加一个printf(“%d”,y);这个时运行的结果就是3了(因为在显示第一个之后就已经用了y,所以接着就自加1,再运行的时候就是3 了)...

c语言程序题
(z=x++),y++,++y;这是一个逗号表达式,计算顺序从左到右。x++和y++都是后自增,意思就是说这一说执行完后才自增,++y是先自增,就是运行到这里先自增,所以从上面可以知道上面三个的顺序是 z=xy(这行之后才自增)++y(y先自增)这行运行完x++;y++;所以最后,xyz的值分别就是2,3,1 ...

C语言z=(x++,y++)与z=(++x,++y)的区别
区别你说了啊。y++的值先赋给z,然后y自身再加一。++y先自身加一,再赋值给z。前面的x没有用到。

C程序中的逗号表达式问题
z=x++,这是逗号表达式的第一项。这项的作用是把X赋给Z之后X自加1,第二个和第三个项分别是把Y自增一

C语言程序设计(17)
但是有一点:赋值操作的优先级高于逗号,所以:z=x++,会在执行逗号右边的语句前对z赋值,根据++的用法,是先拿了x来对z赋值,再把x加1。所以z就为1。你理解整个逗号语句的表达式的最终值为3是正确的,但它不是赋给z,而是:result = (z=x++,y++,++y);result才为3。

x=y=1;z=x++,y++,++y; z等于多少?
这句话说的是逗号表达式,把(z = x++, y++, ++y)看成一个整体,整体是一个逗号表达式,整体的值是最后一个表达式的值,你可以写printf("%d\\n",(z = x++, y++, ++y));来测试逗号表达式的结果 我刚给别人写的运算符顺序表,你可以看看 [] () . -> ++(后自增) --(后自减) ...

C语言int x,y,z; x=y=1;z=x++,y++,++y; z的值为什么是1? 按照都好运 ...
你错了,z=1才是正确答案!因为逗号表达式被编译器解释为(z=x++),(y++)和(++y)三个,而不是z=(x++,y++,++y)右边的三个。你分明没有加(),干嘛要按有()来理解?

c语言 逗号表达式问题
2、逗号表达式是所有运算符中最低的,为十五,也就是说把其它都算完了才轮到它,程序中应该是先将x++的值负给z,然后算y++,最后算++y,如果按你想的那样,赋值语句该写成z=(x++,y++,++y); ,加上一个括号。 手机写的,光换输入法就累死了!

c语言 逗号表达式
分别计算就好了 你理解错了 这里面Z的值在z=x++就确定了,是1 ,这个++1与1++的区别你知道吧 这里面其实是三个式子 你想的那种样应该是这样的A=(z=x++,y++,++y)那么这里A的值取逗号里面的式子依次运算,最后那个式子的值就是 整个的值 即是A的值。具体问题就好办了吧 ...

相似回答
大家正在搜