源代码:
#include
int main()
{
int i = 1, j = 1, k;
i = (i++) + (++i);
printf("i=%d \n", i);
k = (j++) + (++j);
printf("j=%d, k=%d\n", j, k);
}
执行结果:
i=5
j=3, k=4
关键的汇编码片段:
movl $0x1,0xfffffff0(%ebp)
movl $0x1,0xfffffff4(%ebp)
addl $0x1,0xfffffff0(%ebp)
mov 0xfffffff0(%ebp),%eax
add %eax,0xfffffff0(%ebp)
addl $0x1,0xfffffff0(%ebp)