LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 786|回复: 1

请教大家一个PHP的问题

[复制链接]
发表于 2004-7-29 21:47:23 | 显示全部楼层 |阅读模式
最近发现一个问题,PHP中关于i++的计算和C语言中好象有些差异。
原代码如下:
<?php
    $i=3;
    $k=($i++)+($i++)+($i++);
    echo $k."<p>";
    echo $i."<p>";
?>
计算结果是:
k=12
i=6

C语言做同样的事情,代码如下:
main()
{ int i=3,k=0;
  k=(i++)+(i++)+(i++);
  printf("%d\n%d",k,i);
}
计算的结果是:
k=9
i=6

按照正确的概念理解,k的值应该是等于9,也就是C语言的计算结果是正确的,出这道题的教材也是这么写的;i++的计算流程是先用i的原值,也就是先把3取出来做计算,k=3+3+3,所以应该是9;但是PHP中计算这段代码又的确是等于12,而书上恰恰把12这个结果当成是一个经典的错误来提醒读者的!现在我也搞糊涂了,到底应该是多少呢?
我用的系统是即时Linux7。0 server版本。
发表于 2004-8-1 23:21:53 | 显示全部楼层
计算标准不一样,反正本来就不是同一语言
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表