
C语言:a=3,a+=a-=a*a,求a
16个回答
展开全部
a最后的值为-12
a+=a-=a*a
的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6
然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
a+=a-=a*a
的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6
然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
追问
谢谢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-12,然后运算符的优先级,*比+=还有-=高,所以先算a*a=9,然后+=,-=的结合性是从右到左,先a-=9,就是a=a-9,a变成-6,最后计算a+=a,就是a=(-6)+(-6),最后a=-12。编译器也已经编译,没有问题。如果有疑问请追问,满意请采纳,谢谢
更多追问追答
追问
可是答案是12:-(
追答
无语了,看看群众的呼声,还有编译器,楼主你应该相信我们
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a最后的值为-12
a+=a-=a*a
的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6
然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
a+=a-=a*a
的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6
然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=a*a; a=9
a=a-a; a=0
a=a+a; a=0
谭浩强看多了
根据编译器不同会不同
所以一般写程序不会这么写
所以你就别研究了大哥
相信你看见有很多人这么说
那我就不多说了
88
a=a-a; a=0
a=a+a; a=0
谭浩强看多了
根据编译器不同会不同
所以一般写程序不会这么写
所以你就别研究了大哥
相信你看见有很多人这么说
那我就不多说了
88
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用Dev C运行后 答案为:-12
先算a*a=9,然后因为+=,-=是从右往左的优先级,所以依次为a-9=-6(此时a变为-6),接着a+a=-6+-6=-12
先算a*a=9,然后因为+=,-=是从右往左的优先级,所以依次为a-9=-6(此时a变为-6),接着a+a=-6+-6=-12
更多追问追答
追问
可是答案是12,:-(
追答
答案错了噢,不信你用编译程序去试试。我刚试过了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询