当前位置: 代码迷 >> C语言 >> 运行结果是多少
  详细解决方案

运行结果是多少

热度:235   发布时间:2006-04-03 21:15:00.0
运行结果是多少

main()

{ int a=9;

a+=a-=a+a;

printf(“%d\n”,a);

}

搜索更多相关的解决方案: 结果  运行  

----------------解决方案--------------------------------------------------------
-18
视编译器而定,,,,,一般用的编译器都是从右向左编译的..so.....
a+=a-=a+a;//先算a+a得18
再算a-=(a+a)//即a=a-(a+a)=9-18=-9,此时a值变为-9
再算a+=... 即a=-9+(-9)=-18

[此贴子已经被作者于2006-4-3 21:25:28编辑过]


----------------解决方案--------------------------------------------------------
我在VC++里面运行了一下,是-18。
同意楼上的说法。
----------------解决方案--------------------------------------------------------
winTC下是-18
TC2.0下也是-18
----------------解决方案--------------------------------------------------------
-18了答案是正确的
----------------解决方案--------------------------------------------------------

从右到左算,-18
在GCC-3.4下通过


----------------解决方案--------------------------------------------------------
  相关解决方案