关于PHP中 $a++ --$a 结合,运算结果解疑,高分80,解答透彻,再加翻倍高分

$a=10;$b=(++$a)-($a--)+($a++)+($a--*--$a)-(++$a/$a++);此时a=11,b=108请帮忙解惑出B的结果为什么等于108... $a = 10 ;
$b=(++$a) - ($a--) + ($a++) + ($a-- * --$a) - (++$a/$a++) ;
此时a=11,b=108
请帮忙解惑出 B的结果为什么等于108
展开
 我来答
douyl_2010
2012-10-13 · TA获得超过284个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:102万
展开全部
首先要理解++(--)在前,++(--)在后的意义,++在前,是先加(减)1再赋值,++在后是先赋值再加(加)1
就以++$a来说,$a+1,它的值($a)是11,这个++$a表达式的值是11.$a++,这个表达式的值是10,而它的值($a)是11
第一个括号

++$a,$a=11,++$a=11.
第二个括号

$a--,$a=10,$a--=11
第三个括号

.$a++,$a=11,$a++=10
第四个括号
$a--,$a=10,$a--=11
--$a,$a=9,--$a=9
第五个括号

++$a,$a=10,++$a=10
$a++,$a=11,$a++=10
整个表达式的值是11-11+10+(11*9)-(10/10)=108

从整个表达式来看,变量和表达式是不能混淆的,$a++这是个表达式,又要计算本身的变量,还要计算表达式的值。
更多追问追答
追问
不是先计算 乘法和出发吗? 为什么不是从后面的乘法和除法计算呢
追答
因为它是个表达式就是个整体,是不可能拆分的。只有计算完表达式的值才能乘除了,要不那就乱了
龙光科技
2012-10-13 · TA获得超过341个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:94.6万
展开全部

见图片

 

 

每次运算后都会有新值出现的 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jk蓝蓝
2012-10-13 · TA获得超过137个赞
知道答主
回答量:61
采纳率:0%
帮助的人:59.7万
展开全部
楼下对了,太久了都忘的差不多了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式