鱼C论坛

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

自增自减问题②

[复制链接]
发表于 2013-7-20 08:40:29 | 显示全部楼层 |阅读模式

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

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

x
我真在看<第二章 数据类型,运算符和表达式05>
有一个问题实在是看不明白。
i=8
y=++i    最后我知道 y=9
y=i++    最后我知道 y=8
y=--i   最后我知道 y=7
y=i--   最后我知道 y=8

但是放在一起就不对了,有的时候结果是8,有的时候吧结果是9.。。这是神马情况。
QQ截图20130720084104.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-20 09:10:51 | 显示全部楼层
对了的啊,第一句减去1等于7.
执行到第二句7+1=8.
到第三句先取再加1,也就是先取了8给y再加1=9.
最后一句也是后置先取i的值9 再减去1.
这几条语句都在一个函数体内从上到下接着执行的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-20 09:21:27 From FishC Mobile | 显示全部楼层
编辑器问题吧!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-20 09:28:52 | 显示全部楼层
2楼正解。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-20 10:03:39 | 显示全部楼层
是 7  8  8  9啊
i = 8
--i    输出 7  i = 7
++i  输出 8  i = 8
i++  输出8   i= 9
i--    输出9   i = 8
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-20 10:05:32 | 显示全部楼层

貌似不是吧
又不是说
printf("%d %d %d %d", --i, ++i, i++, i--);
这样写的话是有说编译器自左向右和自右向左编译的问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-20 10:27:59 | 显示全部楼层
五楼正解,清晰明了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-19 00:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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