六级往年真题:怎么运算的?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/20 17:21:00
设有int a=3;则执行语句a+=a-=a*a;后,变量a的值是()

-12
c语言的运算顺序里有右运算,这里先a*a=9,a=3-9=-6,此时a的值是-6,所以a+=a的值是-12

从右侧王左侧看,这个语句可以等价看成:
b = a * a; //b=3*3=9
c = a - b; //c=3-9=-6
d = a + c; //d=3-6=-3

所以变量的值应该是-3

个人觉得没必要为这样的问题花脑经呀,
实际编程疯子才会这样写呀,所以希望楼主
多花点时间搞点实际的东西呀,我是过来人,这样的题目只有在试卷上才又呀!认同上楼的答案呀,a的值动态改变了呀,所以是-12