设有语句int a=3,则执行了语句a+=a-=a*a;后,变量a的值为?

如题所述

程序是从右向左进行的
第一步a*a=3*3=9;
第二步:a=a-(a*a)=3-9=-6 注意此时的a已经不是原值3了,在第二步里值变为了-6.
第三步:a+a=a+(a-(a*a))=-6+(-6)=-12
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-10-13
结果是0,12不对。右运算开始a*=a,a赋值为3,那么就是3*3=9,即a=9,再算a-=9,a=a-9,a=9-9=0,最后a+=0,a=a-0,a=0,a=0-0=0
第2个回答  2020-06-17
结果:-12
赋值运算从右往左
a-=a*a a=a_a*a=3-3*3=-6
a+=a a=a+a=-6-6=-12
第3个回答  2018-05-07
楼上误人子弟。答案应该是-3;计算过程为a*a=9;a=a-9=-6;a=a+(-6)=-3。不信就自己去编程试验一下。严谨一点!
第4个回答  2015-03-23
可以拆分一下:
a=a-a*a;
a=a+a;
因此a=-3;本回答被网友采纳

设有语句int a=3,则执行了语句a+=a-=a*a;后,变量a的值为?
第一步a*a=3*3=9;第二步:a=a-(a*a)=3-9=-6 注意此时的a已经不是原值3了,在第二步里值变为了-6.第三步:a+a=a+(a-(a*a))=-6+(-6)=-12

...a=3;则执行了语句a+=a-=a*a;后,变量a的值是( ) A) 3 B) 0 C) 9...
选项为D。解析:根据算术运算符的优先级,应该是先算乘法,即a*a=3*3=9,于是该式子变为a+=a-=9,注意此时a值依然为3。再根据从右向左的运算顺序,将将上式一分为二:a+= | a-=9,先计算右一项,a=a-9=3-9=-6。这样,a的值变成了-6,再计算左半部分a=a+(-6)=-6+(-6)=-...

设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是...
【答案】:D 由于赋值运算符的结合性自右至左,语句“a+=a-=a*a;”的执行是先计算a*a,得到值9,再计算a-=a*a,使a的值为-6,接着计算a+=a,使a的值为-12。所以解答是D。

设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是?
先计算a*a的值为9,然后,a-=a*a就是a=a-a*a的a的值为-6,然后a+=(-6),就是-12,最后答案就是-12

设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值为?
a-=a*a等价于a=a-a*a,a=-6 a+=a等价于a=a+a,a=-12 所以变量a的值是-12

设有语句int a=3; 则执行了语句a-=a+=a*a;后,变量a的值是( )
设有语句int a=3;则执行了语句a-=a+=a*a;后,变量a的值是-12。先算a*a=9 再算a-=9 这样a=-6 再算a+=-6 就是a=-6-6=-12 任何一个表达式的最后加一个分号都可以成为一个语句。一个语句必须在最后出现分号。表达式能构成语句是C和C++语言的一个重要特色。C++程序中大多数语句是...

设有语句int a=3,执行语句a+=a-=a*a后,变量a的值是多少啊?
执行该语句的结果为-12,没有错误。注意赋值运算符的顺序为自右到左。计算过程如下:首先执行a*a=9,然后a-=9=(a=a-9)=-6,执行后a=-6,然后执行a+=a=(a=a+a)=-12。所以说正确答案是-12。

C语言赋值运算,设int a=3,则执行语句a+=a-=a*a-12\/8后,变量a的值是
a=a-(a*a-12\/8)=3-(3*3-1)=-5 a=a+a=-5+(-5)=-10 赋值运算符的结合性从右往左,先计算最右边的

设有两条语句为int a=3;a+=a*a;,则执行结束后,a的值为
a+=a*a等价于a=a+a*a a=3+3*3=12 执行结束后,a的值为12

C语言 设有语句int a=4;则执行了语句a+=a-=a*a后,变量a的值是多少?
答案:-24 1、a = 4,先算a * a,表达式的值为16。2、+和-同一优先级,因为是复合赋值运算结合性从右向左进行,所以此时算 a -= 16 (a *a 表达式的值是16)相当于 a = a - 16;此时a=-12 3、最后算:a+ = -12(a-=a*a表达式的值是-12)。相当于 a = a + (-12);因为a...

相似回答