c语言:x=y=1;z=x++,y++,++y;计算输出x,y,z的值
我的答案是2,3,2怎么就错了呢,求详解,谢谢1.X++→X=X+1=22.Y++→Y=Y+1=23.++Y→Y=24.Z=++Y=Y=25.Y=Y+1=3...
我的答案是2,3,2怎么就错了呢,求详解,谢谢
1. X++ → X=X+1=2
2. Y++ → Y=Y+1=2
3. ++Y → Y=2
4. Z=++Y= Y=2
5. Y=Y+1=3 展开
1. X++ → X=X+1=2
2. Y++ → Y=Y+1=2
3. ++Y → Y=2
4. Z=++Y= Y=2
5. Y=Y+1=3 展开
6个回答
展开全部
x=1,y=1
z=x++ 把x给z,所以z=1,之后x++,所以x=2;
y++ 原来y=1,现在变成2
++y 前面y=2,现在变成3.
所以,最后:
x=2
y=3,
x=1
z=x++ 把x给z,所以z=1,之后x++,所以x=2;
y++ 原来y=1,现在变成2
++y 前面y=2,现在变成3.
所以,最后:
x=2
y=3,
x=1
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逗号表达式优先级低于赋值运算符,所以z = x++, y++, ++y;===》(z =x++),(y++),(++y);
应与z = (x++, y++, ++y);区分
应与z = (x++, y++, ++y);区分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第4步应该错了吧。。。z只执行了z=x++这一步。后面的只是y的自加而已。没有将值付给z。忘采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是2,3,1.,首先z=x++,结果是z=x,然后在执行x++,y++,x=y=2,在执行++y,所以最后x=2,y=3,z=1
追问
在第三步Y的值都已经是2了,怎么又变成1了呢
追答
你上面那些步骤是不是有错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询