问答详情
源自:2-9 强制类型转换

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

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

提问者:慕尼黑2423183 2017-11-24 08:52

个回答

  • 慕神0457710
    2020-07-30 00:36:00

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

      /**

       *

       * a*a = 9;

       * a-=a*a;

       * a-=9;

       * a+=a-

       * a-=9

       * a = a-9 结果为-6

       * 所以得 a+ = -6

       * a = a + (-6);

       * 结果得 a=-3

       */


  • qq_驭不凡_0
    2017-11-25 16:13:12


    http://img1.mukewang.com/5a1925f0000144aa05170500.jpg

    话不多说

    上图

  • qq_可爱万岁_0
    2017-11-25 09:08:58

    从右往左计算并附值

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

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

    a+=a == a=a+a

    a-=b == a=a-b

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

  • 慕沐0325074
    2017-11-24 12:42:23

    我编译运行是-12呀

  • 三郎sl
    2017-11-24 09:53:05

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

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


  • 简拙
    2017-11-24 09:51:32

    也许-3吧。