php - PHP和C语言中的自增运算符

标签 php c math increment

<分区>

Possible Duplicate:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)

我遇到了一个关于增量运算符的奇怪问题。

我在 PHP 和 C 中得到相同表达式的不同输出。

C语言

main()
{
    int i = 5;
    printf("%d", i++*i++); // output 25;
}

在 PHP 中

$i = 5;
echo $i++*$i++; // output 30

谁能解释这种奇怪的行为?谢谢。

最佳答案

在 C 中,结果是未定义的,因为两个操作数中的任何一个都可以先求值,因此第二次读取它是错误的。

而且,好吧,在 PHP 中,如果结果是 42 等待对 php.ini 进行一些更改,我不会感到惊讶。

关于php - PHP和C语言中的自增运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12370018/

相关文章:

c - 将小块数据写入闪存页面

c - C 语言的周长计算

JavaScript 数学公式

java - 如何让(轮盘赌)时间表放慢速度

c - 如何计算覆盖矩形的最小数量的固定半径圆的圆心坐标?

javascript - 寻找 PHP 中等效的 JavaScript 数学代码

使用 PHPSTORM 运行测试时 PHPUNIT 错误

c - C 中的 open() 函数以错误的权限创建新文件?

java - 如何用另一种语言(不是 Python)编写 Celery worker/tasks?

PHP PDO 插入语句超出执行时间