鱼C论坛

 找回密码
 立即注册
查看: 1267|回复: 6

[已解决]简单问题,为什么等于10

[复制链接]
发表于 2020-3-29 21:15:58 | 显示全部楼层 |阅读模式

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

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

x
X不是要先++等于2吗,然后乘以12吗
int x=1, y=012;
printf("%d",y*x++);
最佳答案
2020-3-29 21:23:24
1. 012 是八进制的表示方法,八进制的 12 表示十进制中的 10

2. x++ 是先使用 x 再 ++

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-29 21:21:41 | 显示全部楼层
1,你打印一下y,会发现y = 10
2,x++是先使用x,再++
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 21:23:24 | 显示全部楼层    本楼为最佳答案   
1. 012 是八进制的表示方法,八进制的 12 表示十进制中的 10

2. x++ 是先使用 x 再 ++
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 21:23:51 | 显示全部楼层
012是八进制的10,++是右结合性的,先算x*y,再使得x自增
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-29 21:40:15 | 显示全部楼层
zltzlt 发表于 2020-3-29 21:23
1. 012 是八进制的表示方法,八进制的 12 表示十进制中的 10

2. x++ 是先使用 x 再 ++

那Y等于10,乘以X =1,得10,10再++  不是应该是11吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 21:40:59 | 显示全部楼层
非驰 发表于 2020-3-29 21:40
那Y等于10,乘以X =1,得10,10再++  不是应该是11吗


只是对 x 进行 ++ 操作,对整个结果没有影响
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-29 21:42:29 | 显示全部楼层
zltzlt 发表于 2020-3-29 21:40
只是对 x 进行 ++ 操作,对整个结果没有影响

好吧,刚学,还是不太明白,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 12:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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