鱼C论坛

 找回密码
 立即注册
查看: 4638|回复: 8

p=(++i)+i+(++i)为什么呢p=28

[复制链接]
发表于 2013-3-24 18:17:57 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 feitianqu 于 2013-4-15 13:42 编辑

#include<stdio.h>

main()

{

        int i = 8, p;

       p=(++i)+i+(++i);


        printf("%d\n",i);

        
       printf("%d  \n",p);

        return 0;
//自己回答一下把是VC6.0捣的鬼甲鱼老师在汇编语言第一章第五节讲解了
        }
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-24 21:17:58 | 显示全部楼层
这东西在我的印象中是不同的编译器有不同的编译结果,TC和VC好像得到的结果就不一样。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-24 21:41:48 | 显示全部楼层
本帖最后由 Kayllen 于 2013-3-24 21:47 编辑

并且刚才在TC中编译了,确实是我以前的印象,TC中输出的结果是30.

有图才有真相!
QQ截图20130324214428.png

小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-25 12:20:22 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-25 12:21:58 | 显示全部楼层
看来vc6.0编译时先把i++变成了10而TC把i++和i都变成十然后
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-25 18:28:28 | 显示全部楼层
++i 是 等于9  加 一个i 等于 9 在加一个 ++i 就是 10 就是28呗 简单的就 就是 i++ 执行2次 一个9 一个10
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-25 18:52:07 | 显示全部楼层
运算先后的问题。。 第一次++  i=9   第二次   
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-25 22:14:50 | 显示全部楼层
从右到左运算(++i)+i+(++i)=10+9+9

评分

参与人数 1鱼币 +1 贡献 +1 收起 理由
feitianqu + 1 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-25 22:26:15 From FishC Mobile | 显示全部楼层
自右至左运算,9+9+10=28

评分

参与人数 1鱼币 +1 贡献 +1 收起 理由
feitianqu + 1 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-5 05:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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