PHP的一道算术题,答案怎么解释呀

$a = 1;
echo $a + $a + $a++; //3

$a = 1;
echo $a + $a++; //3

$a = 1;
echo $a++ + $a + $a; //5

php

2个回答

这种东西没有办法解释,如果你非要解释,就是对php解释器如何解释去解释了。
如果说你能从中得到什么对实际编程有用的东西,那就是避免在表达式中出现副作用项。也就是a+a++中的后一个a在求值的时候会改变a,而表达式中又出现多个对a的求值。

这种操作叫做未定义行为 https://www.guokr.com/blog/471312/

1, 1+1+1 = 3 ;
2, 1+1 = 2 ;这里应该是2不是3吧
3, 1+2+2 = 5 ;

huangyuxin_
huangyuxin_ 我也不知道,为什么运行结果都为3
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问