这是一个初学者的问题。
以下是我正在使用的 C++ 代码
int main() {
int x=5, y=5;
cout<<x--;
cout<<",";
cout<<--x;
cout<<",";
cout<<y--<<","<<--y;
return 0;
}
在 Turbo C++ 3.0 中运行时,代码显示的输出如下:
5,3,4,4
在 Windows 上使用 Code::Blocks 编译(使用 MinGW 和 GCC/G++)时,显示的输出如下:
5,3,4,3
以前,我听说有时不同的编译器对某些问题的行为不同,但我不明白为什么会显示这个结果。因为逻辑上,我认为,输出应该是:
5,3,5,3
你能从逻辑上告诉我这种输出的原因吗?
谢谢!