C语言:求表达式a+=b*=b-c和表达式a=(b=5)+(c=7)值
1个回答
展开全部
一、表达式:a+=b*=b-c
赋值表达式=、+=是从右往左结合,所以先算b-c
再算
b*=
最后算a+=
比如a=1
b=2
c=3,那么原式子就是a+=b*=2-3
=>
b=-1*2;a+=2*(2-3)
=>
a=1+2*(2-3)
a=-1;b=-2;c=3;
二、表达式:a=(b=5)+(c=7)
先算括号,b=5和c=7都是赋值表达式,返回值就是赋的值。
比如a=1
b=2
c=3,那么先执行b=5
返回5
,c=7返回7,原式子就变成a=5+7=12。
a=12,b=5,c=7
赋值表达式=、+=是从右往左结合,所以先算b-c
再算
b*=
最后算a+=
比如a=1
b=2
c=3,那么原式子就是a+=b*=2-3
=>
b=-1*2;a+=2*(2-3)
=>
a=1+2*(2-3)
a=-1;b=-2;c=3;
二、表达式:a=(b=5)+(c=7)
先算括号,b=5和c=7都是赋值表达式,返回值就是赋的值。
比如a=1
b=2
c=3,那么先执行b=5
返回5
,c=7返回7,原式子就变成a=5+7=12。
a=12,b=5,c=7
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询