Bar*_*mar 7

语言在运算符优先级方面存在差异。

C++ 中,三元运算符与赋值运算符具有相同的优先级,注意

条件运算符中间的表达式(在?and之间:)被解析为好像括号一样:它相对于的优先级?:被忽略。

C 中,三元运算符的优先级高于赋值。它也有关于中间表达式的相同注释。

这意味着在 C 中,表达式被解析为好像它被括号括起来:

((0) ? (a = 1) : a) = 2;
Run Code Online (Sandbox Code Playgroud)

这是无效的,因为条件表达式不返回 L 值。