c语言问题:若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值为-12。请问怎么算的?
5个回答
展开全部
从右往左运算a*a=3×3=9此时a=3,a-运算a=a-9即a=3-9=-6此时a=-6,再进行a+运算a=a+(-6)即a=-6-6=-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从右到左 a-=a*a 就是a=a-a*a 算出a=-6 a+=a 就是a=a+a 就是-6+(-6)=-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自右向左运算
那么可以拆分为:
首先a*a=9;
a-=a*a,实际就是a=3-9=-6;
a+=a,实际就是a=-6+(-6)=-12
那么可以拆分为:
首先a*a=9;
a-=a*a,实际就是a=3-9=-6;
a+=a,实际就是a=-6+(-6)=-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先算:a-=a*a,其等价于
a=a-a*a
=3-3*3
=-6
再算a+=-6,其等价于
a=a+(-6)
=(-6)+(-6)
=-12
这样可以么?
a=a-a*a
=3-3*3
=-6
再算a+=-6,其等价于
a=a+(-6)
=(-6)+(-6)
=-12
这样可以么?
追问
请问这种类型的算法该怎样算,不是从左至右吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询