PHP
<?php
$x = 10;
echo $x = 20;
?>
C++
#include<iostream>
using namespace std;
int main(){
int x = 10;
cout << x = 20;
return 0;
}
为什么在 php 中初始化然后在一行中输出有效,在 c++ 中却不起作用?
最佳答案
- 这个:
cout << x = 20;
不是初始化。初始化是将初始值分配给变量,因此在您的情况下,它是在第一个字符串中完成的:int x = 10;
. - 你在 PhP 中有 2 行代码,而不是一行。
- C++ 中发生的事情是由于运算符优先级而发生的。
运算符优先级基本上是运算符应该以什么顺序执行。这就像在数学中 *
和 /
发生在 +
之前和 -
.
operator<<
在 C++ 中的优先级高于 operator=
, 所以它会先被执行,然后才是 operator=
将会发生。
关于php - 初始化然后单行输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12156905/