为了账号安全,请及时绑定邮箱和手机立即绑定

复合赋值运算,其中a=3,求a+=a-=a*a的值是多少

复合赋值运算,其中a=3,求a+=a-=a*a的值是多少

正在回答

6 回答

 //赋值运算从右向左执行

  /**

   *

   * a*a = 9;

   * a-=a*a;

   * a-=9;

   * a+=a-

   * a-=9

   * a = a-9 结果为-6

   * 所以得 a+ = -6

   * a = a + (-6);

   * 结果得 a=-3

   */


0 回复 有任何疑惑可以回复我~


http://img1.sycdn.imooc.com//5a1925f0000144aa05170500.jpg

话不多说

上图

0 回复 有任何疑惑可以回复我~

从右往左计算并附值

第一步:a-a*a=a=-6

第二步:a+a=a=-12

a+=a == a=a+a

a-=b == a=a-b

从左至右计算,从右至左附值

0 回复 有任何疑惑可以回复我~

我编译运行是-12呀

0 回复 有任何疑惑可以回复我~

复合运算符左边必须是变量,右边的表达式计算完成后才参与复合赋值运算。语言运算符的优先级,结合

方向为从右到左.所以答案为12


0 回复 有任何疑惑可以回复我~

也许-3吧。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

复合赋值运算,其中a=3,求a+=a-=a*a的值是多少

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信