IIJIMA Hiromitsu wrote:
> return ((n<1||n>12)?name[0]:name[n]);
> 
> 私なら通常はif文で書きますけど(例外:式しか書けない場所)、
> 皆さんはこういうコードは書きます?

書きますよ。
もしこれを単純にif文に直すとすれば

if(n<1||n>12) return name[0];
else return name[n];

となるわけですよね?
構造化プログラミングの原則は「出入口はひとつずつ」なので、
あまりに複雑さに差が出る場合以外は三項演算子を使います。

関数型言語を使ってみれば三項演算子の意義がわかってくるのではないでしょうか?

----
齊藤@生涯一趣味プロ
URI http://saito.s4.xrea.com/
e-mail saito@s4.xrea.com