C语言中a+=a-=a*=a答案是多少?

写出具体算法
a值为12

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。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-27
结果为0.
连续赋值运算,计算顺序是自右至左的。
所以 a+=a-=a*=a计算顺序是
1 a*=a;
2 a-=a;
3 a+=a;
也就是
1 a=a*a;
2 a=a-a;
3 a=a+a;
可以看到,无论a值是多少,第一步的结果是多少,到第二步的时候,a的值都会是0.所以最终结果,也就是第三步的结果,仍为0。
最终a为0。本回答被网友采纳
第2个回答  推荐于2019-08-25
2a-a²
具体计算步骤如下:
1、公式拆分,按照C语言计算方法和原则,这里的“=”意思是赋值,即将等号右边的数值赋值到左边去。
所以公式可以依次拆分为
(1)a1=a*a
(2)a2=a-a1
(3)a3=a2+a
a是原来的赋值
2、以此计算原来的(1)(2)(3)式

结果为2a-a²
拓展资料:
C语言中计算或者赋值式是从右往左进行计算,但是计算具有一定的优先级,以下是对优先级的分类:
1、最高级
出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。
( )圆括号
[ ]下标运算符号
->指向结构体成员运算符
.结构体成员运算符
2、第二级
!、~、++、--、-、(类型)、*、&、sizeof。
这一级都是单目运算符号,这一级的结合方向是从右向左。
比如出现*p++,这时*和++同级别,先算右边,再左边。
所以*p++等价于*(p++),而不是(*p)++。
3、第三级
+、-、*、/、%
这一级都是算术运算符,结合顺序和数学学习中一致的,先乘除取余数,后加减。
4、第四级
<<、>>
这是左移、右移运算符,位运算时可能需要用到。
5、第五级
<、<=、>、>=、!=、==
这些运算符也称为关系运算符,其中<、<=、>、>=高于!=、==。
6、第六级
&、^、|
这三个符号也是位运算符号,其中内优先级,&>^>|。
7、第七级
&&、||
逻辑与&&优先级大于逻辑或||。
8、第八级
? :
也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左。
9、第九级
=、+=、-+、*=、/=、%=
这些运算符也叫做赋值运算符,除此之外,>>=、<<=、&=、^=、|=这些赋值运算符也在这一级别内,结合顺序是从右往左。
10、最低级


逗号运算符也称为顺序求值运算符,在C语言中,运算级别最低。本回答被网友采纳
第3个回答  2009-01-13
a的初值呢?
a初值为12时,a+=a-=a*=a结果为0

步骤:
这个表达式的运算是从右向左的:
1. a*=a:a=a*a=12*12=144
2. a-=144: a=a-144=144-144=0
3. a+=0: a=a+0=0+0=0本回答被提问者采纳
第4个回答  2009-01-13
在这里说明一点,赋值运算,从右往左开始
记住:只要a被重新赋值过,那么意味着下次运算a的值已经变了。
首先a=a*a;12*12=144,a被重新赋值为144;
然后a=a-a;144-144=0,a被重新赋值为0;
最后a=a+a;0+0=0,a的值依然赋值为0;