-23 c++ java increment operator-keyword
为什么Java输出50时C++输出51相同的代码概念?
int i=5;
i= (++i + ++i + ++i + ++i + ++i + i++);
print i
Run Code Online (Sandbox Code Playgroud)
Java的: 50
C++: 51
结果是不同的,因为lauguages指定不同.
为什么java说50
因为评估的顺序是在Java中定义的.增加是:6 + 7 + 8 + 9 + 10 + 10 == 50.最终的后增量被赋值覆盖并且没有效果.
而c ++说51
显示的程序在C++中具有未定义的行为,因此它可以有任何输出.在这种情况下恰好是51.本答案中的更多详细信息:https://stackoverflow.com/a/4176333/2079303
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |