扭曲的C++代码

-3 c++

可能重复: 未定义的行为和序列点

 #include< iostream.h>
 int main()
 {
       int i=7,j=i;
       j=(i++,++i,j++*i);
       cout <<j;
       return 0;
 }
Run Code Online (Sandbox Code Playgroud)

什么是C++代码的输出?

这是我教授给我的作业.

Cub*_*bbi 10

通过用几个编译器实际编译程序并观察结果,有时可以帮助说服那些不相信这是不确定的人:

修复iostream.h错误后,

  • g ++ 4.5.2打印64
  • CLang ++ 2.8打印63
  • Sun C++ 5.8打印63
  • MSVC 2010打印64

(哦,然后,重写为使用CI/O,Unix 7上的原始K&R C编译器打印63)