鱼C论坛

 找回密码
 立即注册
查看: 1321|回复: 3

[已解决]c语言自增问题

[复制链接]
发表于 2021-3-20 23:54:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小白求助,代码附上


int x = 6;

printf("%d\n", x+ = x++, ++x);
输出:15



请问这个具体怎么处理的,怎么进行运算的,请教一下,实在是没有搞懂。
最佳答案
2021-3-21 10:46:39
逗号运算符、自增运算符
确实如楼上所说,+= 的优先级比++小
x = 6
先进行x++,x此时为7,有因为逗号运算符,结果为后面的,所以相当于x = x + x++;
x = 7 + 8;
最后友情提示,以后代码不要这么写!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-21 09:59:38 | 显示全部楼层
我觉得吧,++的运算符等级比+=运算符等级高,所以x+=x++即为x=x+(x++),x=6+7=13,至于后面++x,我觉得应该不可以这么写吧,在线等一个大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-21 10:46:39 | 显示全部楼层    本楼为最佳答案   
逗号运算符、自增运算符
确实如楼上所说,+= 的优先级比++小
x = 6
先进行x++,x此时为7,有因为逗号运算符,结果为后面的,所以相当于x = x + x++;
x = 7 + 8;
最后友情提示,以后代码不要这么写!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-3-24 17:52:12 | 显示全部楼层
巴巴鲁 发表于 2021-3-21 10:46
逗号运算符、自增运算符
确实如楼上所说,+= 的优先级比++小
x = 6

多谢回答
我想问一下
x = x + x++ 时
x = 7
但是x++不应该是先用7相加然后再x = x + 1 吗?
也就是① x = 7 + 7
          ② x = x + 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 20:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表