C语言中此语句的具体表达是?

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:48:26
a+=a-=a*a;
比如:a++可以写成a=a+1;
那么上式子可以写成???

我告诉你啊

一般这样比较复杂的式子都是要你从右往左计算的

以上是一个复合表达式和你说的a++不是一回事,a++是自加表达式

a+=a-=a*a; 的计算过程如下:

首先从右往左计算:

a-=a*a 即a=a-a*a

所以a+=a-a*a 即 a=a+(a-a*a)

所以a=2a-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可以写成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;