若有定义语句int a=12,则执行表达式a+=a-=a+a后a的值为多少?

如题所述

若有定义语句int a=12,则执行表达式a+=a-=a+a后a的值为-24。

计算过程:

a+=a-=a+a,运算符和结合性,由运算符优先级,+优先级为4,-=和+=优先级为14,+结合方向从左至右,+=和-+从右至左。

所以:

先计算 (a+a),a=12,a+a=12+12=24,

再计算 a-=(a+a),即a=a-(a+a)=12-24=-12,

最后计算 a+=a, 即a=a+a=-12+(-12)=-24。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-10-15
a+=a-=a+a,运算符和结合性,由运算符优先级,+优先级为4,-=和+=优先级为14,+结合方向从左至右,+=和-+从右至左,
所以:
先计算 (a+a),a=12,a+a=12+12=24
再计算 a-=(a+a),即a=a-(a+a)=12-24=-12,
最后计算 a+=a, 即a=a+a=-12+(-12)=-24本回答被网友采纳
第2个回答  2018-02-03
a+=a-=a+a,运算符和结合性,由运算符优先级,+优先级为4,-=和+=优先级为14,+结合方向从左至右,+=和-+从右至左,
所以:
先计算 (a+a),a=12,a+a=12+12=24
再计算 a-=(a+a),即a=a-(a+a)=12-24=-12,
最后计算 a+=a, 即a=a+a=-12+(-12)=-24

设有定义int a=6;则执行表达式a+=a-=a*a++后,a的值是多少?为什么?
a=-29-30=-59

设int a=12,则执行完语句a+=a-=a*a后,a的值是
再执行a=a+(-132)a=-264

关于C 语言中运算问题 a=12 a+=a-=a*=a 怎么计算的 要过程 谢谢
最终答案为0啊,首先是从右往左计算。a*=a就是a=a*a=12x12=144;此时a的值为144.a-=a*=a就是a=a-144=144-144=0.此时a的值为0.那么后面的计算就无意义了。

求一些c编程题
26、请选出合法的C语言赋值语句 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);、B、1 27、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6、C、1 28、若int类型占两个字节,则以下语句输出为___。 int k=-1; printf("%d,u%\\...

若有定义int a =10,则表达式a+=a-=a*=a的值是多少啊
a+=a-=a*=a的值为0 解析:左结合:先做a*=a, 因为a=10,a*=可写为a=a*a=100 此时a的值为100 a-=a 可写为a=a-a=0,此时a 的值为0 a+=a可写为a=a+a=0 综上:a+=a-=a*=a的值为0

a+=a-=a*=a a=12 答案是什么呀>?
方向从右至左 一点一点算就知道结果应该是0了 算a*=a 得出a=12*12=144 ,此时a已经等于144 算a-=a 得出a=144-144=0,此时a已经等于0 算a+=a得出 a=0+0=0

int a=12;a\/=a+a;
int a=12;\/*声明并初始化后a的值为12*\/ a\/=a+a;\/ 复合赋值语句,右边表达式a+a的值为24。结果相当于a=a\/24,由于a是int型,\/两边的运算数都是int型,所以作整除,12除以24商0余12,商赋值给a。所以最后a等于0.\/ --- [原创回答团]参考资料:原创 ...

int a=10,则执行完a+=a-=a-a后,a的值为?麻烦解释下后面的表达式怎么算...
从右至左算,a-a = 0 (a = 10)a-= 0 (a = 10)a += a ( a = 20)答案是20

...定义int a=10,则表达式a+=a-=a*=a的值是多少?怎么算出来的?_百 ...
a+=a-=a*=a展开后应该为:a=a+a=a-a=a*a;首先计算a=a*a,结果a=100,接着计算a=a-a,结果a=0,再计算a=a+a,结果还是0。OK,就是这样计算的。

C语言中a+=a-=a*=a答案是多少?
a初值为12时,a+=a-=a*=a结果为0步骤:这个表达式的运算是从右向左的:1. a*=a:a=a*a=12*12=1442. a-=144: a=a-144=144-144=03. a+=0: a=a+0=0+0=0。

相似回答