首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

【求赐教】为什么PHP的这2个加法运算结果为什么都是3

2013-10-22 
【求指教】为什么PHP的这2个加法运算结果为什么都是3??php $a 1$c $a+$a++var_dump($c) // result:3

【求指教】为什么PHP的这2个加法运算结果为什么都是3?

<?php 
$a = 1;
$c = $a+$a++;
var_dump($c); // result:3

$a = 1;
$c = $a+$a+$a++;
var_dump($c); //result:3


我的理解:第一个结果应该是2,第二个结果应该是3
打印输出:
int 3
int 3

[解决办法]
按照 php 的语法说明,你的理解是正确的
而实际运行结果却不是这样的,于是你可以认为这是 php 的一个 bug
只是这个 bug 也可能是有意为之,因为 C 语言中就是这样的
[解决办法]
怎么发现好多个帖子都讨论这种问题。

维基百科:
在计算机编程中,未定义行为(英语:Undefined behavior)是指行为不可预测的计算机代码。这是一些编程语言的一个特点,最有名的是在C语言中。[1]在这些语言中,为了简化标准,并给予实现一定的灵活性,标准特别地规定某些操作的结果是未定义的,这意味着程序员不能预测会发生什么事。

热点排行