若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后a的值为答案是-12,标答里说a=a

发布时间:2021-02-20 19:13:32

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后a的值为答案是-12,标答里说a=a+(a-(a*a)),请问a+中的a值为什么变成-6

网友回答

a+=a-=a*a;
复合赋值表达式,从右到左运行,可以分拆成:
a-=a*a;
a+=a;a的原值为3
a-=a*a;
相当于a=a-a*a=3-3*3=-6;
再运行a+=a;自然就成了-12
以上问题属网友观点,不代表本站立场,仅供参考!