奇怪的输出,谁来解释

来源:互联网 发布:淘宝搬家到微店怎么弄 编辑:程序博客网 时间:2024/06/05 15:20

以下程序输出为7,感觉没道理,按经典教材应该是8.

源代码:

======================================

#include <stdio.h>
int main()
{
 int   x=4;    x+=x-=x-x--;
 printf("%d",x);
 return 0;
}

=======================================

反汇编截图:

 

分析:

反汇编可以看出--操作符是最后计算的,从算符优先级和结合性考虑不应该这样啊,求解释?

原创粉丝点击