自增大总结:i=(i++)+(++i)i=?

2014-11-23 20:06:40 · 作者: · 浏览: 16

  源代码:


  #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)