55问答网
所有问题
表达式z=x++,y++,++y;与z=(x++,y++,++y);有什么区别?
如题所述
举报该问题
推荐答案 2008-03-22
1:前者是Z=X++意思是X复制给了Z,而后面的Y是另外的变量。
2:Z是X,Y,Z一起复制给了Z。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/cG4L8e88.html
其他回答
第1个回答 2008-03-22
前者只是声明的一连串变量
后者只声明一个变量且是坐标形式的
相似回答
c语言求解释
答:
因为z=x++,x++是后置加,z=x++,先计算z=x=1,然后x执行加1,此后z不再改变
,其他同理。所以x=2,y=3, z=1 所以该表达式的值还是1 如果是z=(x++,y++,++y)就是你说的逗号运算符了
C语言
z=(x++,y++)与z=(++x,++y)
的
区别
答:
x++ 是先执行,再加一。++x 是先加一,再执行
。举个简单例子:x=1; cout<<x++<<' '; cout<<x; //这样输出的是1 2 x=1; cout<<++x<<' '; cout<<x; //这样输出的是2 2
程序
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 了)...
...void main
()
{ int
x,y,z;
x=y
=1
;z=x++,y++,++y;
printf ("%d%d%d...
答:
原因就是运算符优先级的问题,就像楼上说的:逗号运算符的级别最低,比等号还低 所以这个语句:
z=x++,y++,++y;
实际上等于:(z=x
++)
,(y++),(++y);这样写的话相信楼主就知道为什么z=1了吧 楼主认为z应该是3的原因应该是把z=x++,y++,++y;当成
z=(x++,y++,++y);
了 ...
C语言程序设计(17)
答:
但是有一点:赋值操作的优先级高于逗号,所以:z=x++,会在执行逗号右边的语句前对z赋值,根据++的用法,是先拿了x来对z赋值,再把x加1。所以z就为1。你理解整个逗号语句的
表达式
的最终值为3是正确的,但它不是赋给z,而是:result
= (z=x++,y++,++y);
result才为3。
大家正在搜
x或y中有一个小于z的表达式
x和y都大于或等于z的表达式
y+=z--/++x
w
x=y==z
x+=-z---y
c语言x和y都大于等于z
c语言描述x和y都大于或等于z
设xyz均为int型变量