以下程序输出为7,感觉没道理,按经典教材应该是8.
源代码:
======================================
#include <stdio.h>
int main()
{
int x=4; x+=x-=x-x--;
printf("%d",x);
return 0;
}
=======================================
反汇编截图:
分析:
反汇编可以看出--操作符是最后计算的,从算符优先级和结合性考虑不应该这样啊,求解释?