C语言运算:设a=10,求a+=a-=a*a的输出值,写出运算过程
答案:3 悬赏:80 手机版
解决时间 2021-01-21 11:24
- 提问者网友:蓝琪梦莎
- 2021-01-21 00:12
C语言运算:设a=10,求a+=a-=a*a的输出值,写出运算过程
最佳答案
- 五星知识达人网友:末日狂欢
- 2021-01-21 01:21
两个计算过程:
a-=a*a; //a=a-a*a = 10-10*10 = -90
a+= a; //a=a+a = -90 + -90 = -180
最后结果是-180;
a-=a*a; //a=a-a*a = 10-10*10 = -90
a+= a; //a=a+a = -90 + -90 = -180
最后结果是-180;
全部回答
- 1楼网友:玩家
- 2021-01-21 02:57
int a=10;
a+=a-=a*a;
printf("%d",a);追问请写一下计算过程,不是编译过程
a+=a-=a*a;
printf("%d",a);追问请写一下计算过程,不是编译过程
- 2楼网友:北城痞子
- 2021-01-21 01:48
由于编译器的不同而不同
有的编译器是由左向右 有的是由右向左。。vc6.0 和vs 要执行上面的表达式 是对得出不同的结果
所以有事没事不要这样写(除了装B - -)
由于目测到楼下的算法。。。。不发表一下是不行啦
==============
两个计算过程:
a-=a*a; //a=a-a*a = 10-10*10 = -90
a+= a; //a=a+a = -90 + -90 = -180
最后结果是-180;
===========
a+=a-=a*a
首先a=a*a 也就是a=10*10 此时a=100
然后a=a-a; 100-100=0 又此时a=0
a=a+a 0+0还是等于0
有的编译器是由左向右 有的是由右向左。。vc6.0 和vs 要执行上面的表达式 是对得出不同的结果
所以有事没事不要这样写(除了装B - -)
由于目测到楼下的算法。。。。不发表一下是不行啦
==============
两个计算过程:
a-=a*a; //a=a-a*a = 10-10*10 = -90
a+= a; //a=a+a = -90 + -90 = -180
最后结果是-180;
===========
a+=a-=a*a
首先a=a*a 也就是a=10*10 此时a=100
然后a=a-a; 100-100=0 又此时a=0
a=a+a 0+0还是等于0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯