一个简单的式子分析,只帮我看看若a为int类型,且其值为3,则执行完表达式a+=a -=a*a 后,a的值是 ( C ) A) -3 \x05B) 9 \x05C) –12 \x05D) 6 疑问:是从右往左运算?那最后一步a=a+(-6) ,也应该是3+(-6) ,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 04:01:30
一个简单的式子分析,只帮我看看若a为int类型,且其值为3,则执行完表达式a+=a -=a*a 后,a的值是 ( C ) A) -3 \x05B) 9 \x05C) –12 \x05D) 6 疑问:是从右往左运算?那最后一步a=a+(-6) ,也应该是3+(-6) ,

一个简单的式子分析,只帮我看看若a为int类型,且其值为3,则执行完表达式a+=a -=a*a 后,a的值是 ( C ) A) -3 \x05B) 9 \x05C) –12 \x05D) 6 疑问:是从右往左运算?那最后一步a=a+(-6) ,也应该是3+(-6) ,
一个简单的式子分析,只帮我看看
若a为int类型,且其值为3,则执行完表达式
a+=a -=a*a 后,a的值是 ( C )
A) -3 \x05B) 9 \x05C) –12 \x05D) 6
疑问:是从右往左运算?那最后一步a=a+(-6) ,也应该是3+(-6) ,应该是 -9啊 ,a不等于3吗?为何答案是-12
【解析】考查复合赋值运算符的运算规则.
第一步运算 a*a,结果是9;
第二步运算 a -=9,等价于a=3-9=-6,因此a的值及表达式a-=9的值均是-6;
第三步运算 a+=-6,等价于a=a+(-6),于是a的值及表达式a+=6的值均是-12.

一个简单的式子分析,只帮我看看若a为int类型,且其值为3,则执行完表达式a+=a -=a*a 后,a的值是 ( C ) A) -3 \x05B) 9 \x05C) –12 \x05D) 6 疑问:是从右往左运算?那最后一步a=a+(-6) ,也应该是3+(-6) ,
答:因为你忽略了赋值.
第一步运算 a*a,结果是9; a=3; ok
第二步运算 a -=9,等价于a=3-9=-6,从这步开始,a=-6;a不再是3.
第三步运算 a+=-6,等价于a=a+(-6)=(-6)+(-6)=-12,