鱼C论坛

 找回密码
 立即注册
查看: 2642|回复: 7

[已解决]help

[复制链接]
发表于 2023-11-5 11:57:37 | 显示全部楼层
输出结果为:

2, 2
2, 0
2, 3

这是因为:

1. 第一个 printf 语句中,先执行 ++a,将 a 的值增加为 2,然后再输出 a 和 ++a 的值,即 2 和 2。

2. 第二个 printf 语句中,先执行 --a,将 a 的值减少为 1,然后再加上 b 的值 2,得到 3,再输出 a 和 a-b++ 的值,即 2 和 0。注意此处 b++ 的值为 2,因为自增运算是在表达式计算完毕后才会执行的。

3. 第三个 printf 语句中,a 的值为 2,b 的值为 3,直接输出即可。

需要注意的是,VC 编译系统中自增、自减运算的优先级高于其他运算,且自增、自减运算的顺序也是从右到左的。因此在这段代码中,先执行了 ++a,再执行了 --a,而不是先执行 --a。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 05:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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