【发布时间】:2014-05-21 16:04:50
【问题描述】:
int main()
{
int var = 1;
var += ++var;
cout<<var;
return 0;
}
在 Java 中,这将按预期输出 3,但在 C++(上)中,它输出 4。为什么?
【问题讨论】:
-
@SeanBright 很多小狗会因为我们的学习目的而受苦=\
-
我认为我在任何情况下都没有见过
var += ++var;.. -
Java 具有用于评估此类表达式的明确定义的语义,因此您得到的结果在那里是可预测的,正如您所注意到的。对于 C++(或 C)来说,情况并非如此。
标签: c++