a+=a-=a*a怎么计算啊

如题所述

a+=a-=a*a是一个连续赋值运算,计算顺序是自右至左的。

如果int a=2;

a+=a-=a*a;

相当于:

1.a-=a*a;

2.a+=a;

然后相当于:

1.a=a-a*a;

2.a=a+a;

由于a初始化为2:

1.a=a-a*a=2-2*2=-2;

2.a=a+a=-2+(-2)==-4;

所以最后结果就是-4。

扩展资料

C语言中提供常用赋值运算符:等号运算符。

1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)

2.将赋值运算符右侧表达式的值赋给左侧的变量。

3.将赋值运算符左侧的变量的值作为表达式的值。

赋值表达式是类似这样的句子:a=5 注意后边没有分号, a=5; 这就是一个赋值语句了。

赋值表达式的结果是最左边的赋值运算符(最左边的等号)左边的变量(或者表达式)的值。

赋值运算符的优先级和结合性

1.优先级较低,只比逗号运算符高。

2.从右向左结合。

例如:x=y=3 就相当于 x=(y=3) 结果都为3

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-29
你可以将表达式进行拆分,运算顺序是从右往左
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8追问

谢谢

本回答被提问者采纳
第2个回答  2017-12-08
+=、-=、*三者运行顺序依次为=+>*>-=,若a=6,则结果等于-24本回答被网友采纳
第3个回答  2021-03-26

第4个回答  2018-03-20
不应该是
a=a-a*a,a=4-4×4=-12
a=-12+(-12)=-24吗??

a+=a-=a*a怎么计算啊
a+=a-=a*a是一个连续赋值运算,计算顺序是自右至左的。如果int a=2;a+=a-=a*a;相当于:1.a-=a*a;2.a+=a;然后相当于:1.a=a-a*a;2.a=a+a;由于a初始化为2:1.a=a-a*a=2-2*2=-2;2.a=a+a=-2+(-2)==-4;所以最后结果就是-4。

c语言中a+=a-=a*a如何计算
a+=a-=a*a;为连续赋值运算,从右向左计算。于是原始的表达式等效于:a-=a*a;a+=a;也就是 a=a-a*a;a=a+a;例如,a=5;那么 a=a-a*a=5-5*5=-20;a=a+a=-20 + (-20) = -40;最终a为-40,表达式整体值也就是a最终值,一样是-40。

c语言中a+=a-=a*a如何计算
连续赋值运算,从右向左计算即可。原始的表达式等于:a-=a*a;a+=a;也就是:a=a-a*a;a=a+a;例如a=5;那么:a=a-a*a=5-5*5=-20;a=a+a=-20 + (-20) = -40;最终a为-40,表达式整体值也就是a最终值,一样是-40。

老师好,我想问一下a+=a-=a*a,这里是如何拆分的,还有+=-=是怎么来算的...
所以 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。

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。

c语言中 a+=a-=a*a和a+=a-=a*=a这两个式子有什么区别 它们分别该怎么算...
a+=a-=a*a等效与a=a-a*a,a=a+a; a+=a-=a*=a等效与a=a*a,a=a-a,a=a+a;结果1:-4 2:0

...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,就是这样计算的。

a+=a-=a*=a
a+=a-=a*=a 先求后面a=a*a=144(a=144)得出结果a+=a-=144 再求后面的a=a-144=144-144=0(a=0)得出结果为a+=0 最后a=a+a=0+0=0 a\/=a+a即a=a\/a+a

a+=a-=a*a怎么算,(假设a=6),过程
赋值自右向左运算:a += a -= a*a;拆分后为 a=a-a*a;此后a赋值-30;a=a+a;

...a=6,则表达式a+=a-=a*a等于多少? 请说明计算过程 谢谢
a+=a-=a*a等于-60 自右向左执行 a+=a-=a*a相当于a=a+(a-=a*a)a-=a*a相当于a=a-a*a 执行1:a*a=36 执行2:a=a-36,代入a=6得,a=-30 执行3:a=a-30,代入a=-30得,a=-60

相似回答