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)