int a=3 a+a-=a*a结果多少

来源:百度知道 编辑:UC知道 时间:2024/06/03 13:37:51
main()
{int a=3;
printf("%d\n",(a+a-=a*a));
结果为多少?
具体过程怎么算?请写下过程
题目没有写错 答案是-12 怎么算的啊 说下计算过程 谢谢!

怎么都说有结果,我怎么觉得这个程序怎么都编译不过呢?

明显的-=缺少左值啊!难道是楼主打错了是==?
---------------

如果说没写错,那么就是你用的书有问题了,因为确实编译不过,非要说-12是怎么来的话可能出题人是这么理解的:
a+a-=a*a就是a+(a-=a*a)就是a+(a=a-a*a)

3-3*3=-6,-6+(-6)=-12,就是这样

结果是1吧
(a+a=a*a)结果是True
True转换为Int就是1了

答案为0,
int a=3,表示设定a这个参数为3,printf("%d\n",(a+a-=a*a)是要求显示a+a-=a*a等于多少,3+3=3*3,为假

3*3=9
3-9=-6
-6+(-6)=-12

不知道 编译错误

-12