我的朋友和我遇到了一個有趣的笑話C > C++
,因爲他喜歡C over C++。但是,我很好奇執行該代碼段的有效性。我跑和輸出被1 0 0 1使用C++ 98/C++編譯11郵政運營商評估訂單
int C;
C = 1;std::cout << (C++ < C) << "\n";
C = 1;std::cout << (C < C++) << "\n";
C = 1;std::cout << (C++ > C) << "\n";
C = 1;std::cout << (C > C++) << "\n";
,和真,假FALSE,FALSE爲Java。
我的問題是這些陳述的評估過程如何工作?我特別困惑,因爲C++ < C
和C > C++
在Java中相互矛盾,而在C++中保持一致,以及C++ < C
的邏輯,據推測左側和右側相等或左側大於右側。
互相矛盾如何? – 2014-10-09 04:39:42
這個問題的C++一半是重複的;其他一些語言定義它。 – o11c 2014-10-09 04:41:17
也https://stackoverflow.com/questions/949433/why-are-these-constructs-undefined-behavior – Boann 2014-10-09 04:43:02