2008-07-03

三項演算子の使い方

C言語の三項演算子(正式には条件演算子。C言語には項を三つ取る演算子はこれだけなので、単に三項演算子と呼ぶことがある)はとても便利な演算子だ。高校時代、K先輩とC言語で一番好きな演算子はやっぱり三項演算子でしょ!と意気投合したことは今でも忘れない。

でも、この三項演算子、わかりにくいから嫌いという人も世の中にはいるらしい。たまにそういう意見をWeb上で見かける。とても悲しいことだ。

三項演算子の使い方はとっても簡単。次の例は所得に応じて税率を求める式だ。

int tax_rate
  = (income < 1950000) ? 5
  : (income < 3300000) ? 10
  : (income < 6950000) ? 20
  : (income < 9000000) ? 23
  : (income < 18000000) ? 33
  : 40;
        

正直これ以上説明はいらないんじゃないかと思う。

不明なところがあるとすれば、細かい優先順位や括弧付けの問題だろうか。その辺は見やすさとのかねあいもあり、多少好みが分かれるところでもある。