作业帮 > 综合 > 作业

c语言 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 13:57:31
c语言 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6
根据+、-、*、=的优先级和结合性,是不是应该是这样一个运算过程:
=(a+=a-=9)
=((a=a+a)-=9) /*因为a初值为3,这步运算完以后a为6*/
=(a-=9)
=(a=a-9)
=(a=-3)
由此算得a=-3,选A,
先算:a-=a*a,其等价于
a=a-a*a
=3-3*3
=-6
再算a+=-6,其等价于
a=a+(-6)
=(-6)+(-6)
=-12
再问: + -的优先级相同 可是结合性是自左至右啊,这个题算完*以后不就应该按+ -的结合性自左至右运算么?
再答: += -= 不是加,减运行,是赋值运算。