C语言中,int a=6.执行a+=a-=a*a++,a的值为多少?

来源:百度知道 编辑:UC知道 时间:2024/06/20 15:52:07

-59
根据优先级。
首先进行a++,这句要求先使用a在加加。因此a*a++=6*6=36
然后是a-=36相当于a=a-36=6-36=-30
然后是a+=-30相当于a=a-30=-30-30=-60
最后a++就是-59了

等号为右结合,a++为先用后加。所以,以上语句可以写成:
int a=6;int b,c;
b=(a*a)+1;
c=a-b;
a=a+c;
结果为-62

#include<iostream.h>
void main()
{
int a=6;
a+=a-=a*a++;
cout<<a;
}

结果为-59

不知道在哪本书上到的:纠缠于这种问题上面是没有任何实际意义的,平时没人会这么写,只有在“国际混乱代码大赛”中可能会有人使用。

不要研究这些垃圾玩意儿,
公司从来不用这些。

或许是授课老师想炫耀自己的基础是多么多么厉害
纯粹是花架子

java,c++和c里面的结果好像不一样?
一次-24,-59,-70。不知道怎么来的。
我运行之前,自己计算为-62。