Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1839292
  • 博文数量: 333
  • 博客积分: 10791
  • 博客等级: 上将
  • 技术积分: 4314
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-08 07:39
文章分类

全部博文(333)

文章存档

2015年(1)

2011年(116)

2010年(187)

2009年(25)

2008年(3)

2007年(1)

分类: C/C++

2010-11-24 16:22:02

#include <stdio.h>
int main(int argc ,char *argv[])
{
        int n,j;
        j = 3;
        n = (++j)+(++j)+(++j);
        printf("%d",n);

        return 0;
}

结果?
16

汇编:

movl %edi, -20(%rbp)
        movq %rsi, -32(%rbp)
        movl $3, -8(%rbp)
        addl $1, -8(%rbp)
        addl $1, -8(%rbp)
        movl -8(%rbp), %eax
        addl %eax, %eax
        addl $1, -8(%rbp)
        addl -8(%rbp), %eax
        movl %eax, -4(%rbp)
        movl -4(%rbp), %esi
        movl $.LC0, %edi
        movl $0, %eax
        call printf
        movl $0, %eax


阅读(1556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~