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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 11:57:42
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后a的值为答案是-12,标答里说a=a+(a-(a*a)),请问a+中的a值为什么变成-6

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

若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