php输出和c输出与相同的代码不匹配

时间:2015-02-02 19:05:00

标签: php c

再加上属性....在c和php中...为什么输出不匹配。例如下面的代码......

PHP代码:

<?php 
    $x=5;
    echo $x."</br>";
    $x=$x++ + $x++;
    echo $x."</br>";
    $x= $x-- - $x--;
    echo $x."</br>"; 
?>

C代码:

#include<stdio.h>
int main()
{
    int x=5;
    printf("%d\n",x);
    x= x++ + x++;
    printf("%d\n",x);
    x= x-- - x--;
    printf("%d\n",x);

    return 0;
}

在PHP输出中:

5
11
1

在C输出中:

5
12
-2

怎么可能......并且是(+++)php中的任何运算符?

哪个答案是正确答案?

1 个答案:

答案 0 :(得分:0)

$x=$x+++$x++;

在PHP中:

起始值为5,从最左边的$ x值到6后加上5,并将2个值加在一起得到11,然后将$ x的最右边的值递增到$ x = 7

无法对C中的逻辑发表评论,但我怀疑在执行最左边的后增量之前,它会在添加值之前执行最左边的后增量

但是,由于它难以阅读且不直观,因此您不应该在现实代码中使用此类内容