C言語で以下の関数を作る.
与えられた数に対しその数に最も近い4の倍数に繰り上げする関数.
int round(int val){ /* ここにコードを挿入 */ }
これは少ない行で作らないかん!と思って
条件式 ? A : B
を使えば1行で書ける!と思ったんやけど,いかんせんほとんど使ったことのない表現やったので“:”か“|”なんかごっちゃになってしまい,結局ifを使って2行で書きましたとさ.
日頃からプログラミングしてないからこんなことになるんやなー.
簡単な関数やけど,久しぶりに考えてみたらえらいおもしろかった.
ちなみに書いた答えが
if(val % 4) return val + 4 - val % 4; return val;
で,書きたかったのが
return val % 4 ? val + 4 - val % 4 : val;
1行にまとめてもなんだか醜い気もする・・・