为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大神帮我理清一下计算思路,跪谢

$n=2;
$r=$n++ + ++$n + $n++; //$r=10
$r=++$n + $n++ + ++$n;  //$r=11
echo $r;  

正在回答

4 回答

假设,y=5 求x=++y;  x=y++;  x=--y; x=y--; 弄清楚了就知道了,

x=++y(我们理解成 x=“++y“      “++y”是多少  就是1+5, “++y”就是6, 那么 x=“++y”=6),

x=y++(我们理解成 x=y 再算“++”,y=5,那么就x=5  ,y++=6,最终 5=6);

同理 自己研究--

0 回复 有任何疑惑可以回复我~

你的代码我根本不看,加加减减的有什么意义?

0 回复 有任何疑惑可以回复我~

++在前是先累加再运算,++在后是先运算再累加。

那么第一个$r:相当于2+4+4(第一个$n传进去是2,运算时用2运算,之后再加1,第二个$n传进去就变成3,先加1再运算,即为4,第三个$n传进去是4,则$r=2+4+4,此时$n=5);

第二个$r同理:3+3+5

1 回复 有任何疑惑可以回复我~

$n++ : 把($n++)作为一个整体表达式,$n 的值自增1,但是整个表达式的值是取 a自增  之前  的值;

++$n : 也把(++$n)作为一个整体表达式,$n的值自增1,但是整个表达式的值是取 a 自增  之后  的值。

$r=2+4+4=10

$n=3+3+5=11

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪位大神帮我理清一下计算思路,跪谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信