若有定义int a =10,则表达式a+=a-=a*=a的值是多少啊
1个回答
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
a+=a-=a*=a的值为0
解析:
左结合:先做a*=a, 因为a=10,a*=可写为a=a*a=100 此时a的值为100
a-=a 可写为a=a-a=0,此时a 的值为0
a+=a可写为a=a+a=0
综上:a+=a-=a*=a的值为0
扩展资料:
左结合性和右结合性:
C语言中各运算符的结合性分为两种:左结合性和右结合性。
例如:算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。 最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。
C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。(上文的优先级有分辨左右结合性)
参考资料来源:百度百科-运算符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询