環境依存のテクニックだったり、コンテスト専用のチートコードの作成方法だったりと、必ずしもすべてが皆に有用かと言われるとそうではないが、学ぶべきものはたくさんある。
今日は、その中で面白いと思ったものを紹介します。
とりあえず、次のコードを見てください。
int main() {何をやっているか分かりますか?
REP(i, 10)
i % 2 && printf("%d\n", i);
REP(i, 10)
i % 3 || printf("%d サン!\n", i);
REP(i, 10)
i ? printf("%lf\n", 1.0 / i) : puts("Zero Devider");
return 0;
}
ショートコーダーはif文を基本的に書かないらしいです(笑)
確かにこっちの方が短く書けますね!
以下に対応表をまとめます。
分岐文 | 対応するショートコーディング文 |
if(hogehoge) do | hogehoge && do |
if(!hogehoge) do | hogehoge || do |
if(hogehoge) do1 else do2 | hogehoge ? do1 : do2 |
これで、今日からあなたもショートコーダー!!
0 件のコメント:
コメントを投稿