谁知道这道怎么做啊,我头都晕了
下列程序的输出结果是( )
main()
{int a=9;
a+=a-=a+a;
printf(“%d\n”,a);}
----------------解决方案--------------------------------------------------------
不是从左向右结合计算吗??
----------------解决方案--------------------------------------------------------
那要看你用的什么版本的?
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{int a=9;
a+=a-=a+a;
printf("%d\n",a);}
没有加<#include"stdio.h">
----------------解决方案--------------------------------------------------------
a=-18
----------------解决方案--------------------------------------------------------
a + = a - = a + a
| 1 |
_ 9+9=18 _
| 2 |
_ 9-18=-9_
| 3 |
_-9+(-9)=-18_
做1的时候,没有赋值
所以在作2的时候a依然是9
作2的时候有赋值,所以做3的时候a=-9
所以结果是-18
[此贴子已经被作者于2005-12-21 21:20:57编辑过]
----------------解决方案--------------------------------------------------------
非常感谢!小弟终于看明白啊
----------------解决方案--------------------------------------------------------