int a=6 执行 a+=a-=a*a 后 为什么=-60 ?

来源:百度知道 编辑:UC知道 时间:2024/06/01 20:06:56
a=a+(a=a-(a=a*a)) 怎么不是-24啊?哪位大侠给出算法啊??

不知道你没有运行过,a=a+(a=a-(a=a*a)) 我在.net里的运行结果是0;
其实也很容易明白,因为,每次计算完后,a都被重新赋了一次值,
如(a=a*a)) 后,a的值就变成0啦,之后a-(a=a*a)) ,最左边的a的值当然也
是0,如此类推,a的值就是0啦。

至于a+=a-=a*a,也是同样的道理。只是使用+=时是跟a-(a=a*a))在内存中的操作方式是不一样的,具体是怎么样的,我也说不清,只知道,使用+=时,对后面要加进来运算的a是不起作用的

有些不清楚,但要代入再算.

buzdmo