【发布时间】:2015-05-26 14:08:30
【问题描述】:
int a = 2, b = 3, c = 4, d = 5;
a > 1 ? b : c = d;
我的一个朋友告诉我,这会引发未定义的行为,而我的感觉恰恰相反。谁能帮帮我?
【问题讨论】:
-
对我来说看起来不错。为什么他认为它会给出未定义的行为?
-
选择一种语言。 C/C++ 不是一种语言。
-
因为它在 C 和 C++ 中的行为可能不同,所以我很高兴听到这两种语言之间的细节/差异。
-
@porker2008;区别在于 C != C++。不要比较。
-
使用术语“C/C++”调用未定义的答案。
标签: c++ c variable-assignment ternary-operator undefined-behavior