当前位置: 代码迷 >> C语言 >> 谁知道这道怎么做啊,我头都晕了
  详细解决方案

谁知道这道怎么做啊,我头都晕了

热度:187   发布时间:2005-12-21 11:41:00.0
谁知道这道怎么做啊,我头都晕了

下列程序的输出结果是(

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编辑过]


----------------解决方案--------------------------------------------------------
非常感谢!小弟终于看明白啊
----------------解决方案--------------------------------------------------------
  相关解决方案