4.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的 一个。可以用下边这样的代码吗?  ((condition) ? a : b) = complicated_expression;

不能。? : 操作符, 跟多数操作符一样, 生成一个值, 而不能 被赋值。换言之, ? : 不能生成一个 ``左值"。如果你真的需 要, 你可以试试下面这样的代码:
    *((condition) ? &a : &b) = complicated_expression;
尽管这毫无优雅可言。

参考资料: [ISO, Sec. 6.3.15]; [H&S, Sec. 7.1 pp. 179-180]。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)