鱼C论坛

 找回密码
 立即注册
查看: 3141|回复: 2

新手求解i++问题 为什么输出结果不是21而是22

[复制链接]
发表于 2013-10-19 15:46:15 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>void main(){        int i = 5,j = 5,p,q;        p = (i++)+(i++)+(i++);                //i = 8; p = 15;        q = (++j)+(++j)+(++j);                //j = 8; q = 22;        printf("%d\n,%d\n,%d\n,%d\n",i,j,p,q); LBVM8G{$CBK`4`%WM~G_2.jpg }



LBVM8G{$C$0BK`4`%WM~G_2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-19 15:47:08 | 显示全部楼层
#include <stdio.h>
void main()
{
        int i = 5,j = 5,p,q;
        p = (i++)+(i++)+(i++);                //i = 8; p = 15;
        q = (++j)+(++j)+(++j);                //j = 8; q = 22;
        printf("%d\n,%d\n,%d\n,%d\n",i,j,p,q);
}

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

使用道具 举报

发表于 2013-10-19 16:30:37 | 显示全部楼层
这是VC6编译器优化代码的结果,你可以反汇编去看看实现过程,具体请看小甲鱼老师《零基础入门学习汇编语言》前几课有讲这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 03:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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