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
展开
 我来答
旅游小达人Ky
高粉答主

2021-01-27 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1893
采纳率:100%
帮助的人:37.9万
展开全部

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

扩展资料

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。

帐号已注销
推荐于2018-02-28 · TA获得超过2184个赞
知道小有建树答主
回答量:631
采纳率:100%
帮助的人:641万
展开全部
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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
别懂我99
2018-12-05
知道答主
回答量:1
采纳率:0%
帮助的人:793
展开全部
逗号表达式优先级低于赋值运算符,所以z = x++, y++, ++y;===》(z =x++),(y++),(++y);
应与z = (x++, y++, ++y);区分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yj7989810
2013-03-24
知道答主
回答量:52
采纳率:0%
帮助的人:23.2万
展开全部
第4步应该错了吧。。。z只执行了z=x++这一步。后面的只是y的自加而已。没有将值付给z。忘采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
calm34
2013-03-24
知道答主
回答量:2
采纳率:0%
帮助的人:2990
展开全部
答案是2,3,1.,首先z=x++,结果是z=x,然后在执行x++,y++,x=y=2,在执行++y,所以最后x=2,y=3,z=1
追问
在第三步Y的值都已经是2了,怎么又变成1了呢
追答
你上面那些步骤是不是有错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式