HEXA BLOG

プログラム

HEXA BLOGプログラム2011.5.17

計算の優先順位

こんにちは。平尾です。
最近、お昼はぽかぽか暖かく、散歩にはうってつけです晴れ
また靱(うつぼ)公園はちょうどこの季節、いろんな種類のバラが咲いており、
オフィス街の人々の癒しの空間になっていますかわいい
自然に触れるのは気分転換にもとても良いですよるんるん

***


つい先日、「この答えわかる?」と、こういう計算式を見せられました。メモ

6÷2(1+2)=

ネットで話題になったものなんですが、皆さんはどんな解答をしますか?
答えは

(↑答えがすぐ分からないよう、白文字で書いています)
とのことなんですが、見事に引っかかってしまいましたあせあせ(飛び散る汗)
プログラムにも同じような計算の優先順位は大事で、

    int value = *p++;

なども見慣れていないと、
何が起こってるのかが分かりにくいと思います。
また、かなり極端な例ですが、

    int c = a++-++b;

こんな書き方もできてしまいますがく〜(落胆した顔)
そういえば学生時代にフラグの判定をしようとして、

    if( !flag & 0x01 ) {

と書いて、何がどう間違っているのか気付くのに
かなりの時間を要してしまったのを思い出しました…もうやだ〜(悲しい顔)
例え自分の中では分かっていても、
パッと見の分かりにくさ、不具合の発生を抑えるため、
できるだけ括弧を付け、優先を見やすくした方が良いと思います!
他の人が見る可能性があるのであれば尚更必要だと思います!
そうすれば今回の問題↓も
(6÷2)(1+2)=
間違う人がグッと減ったんじゃないかと思いますパンチ
決して負け惜しみというわけでは…

みなさんも変な記述ミスで失敗しないよう、
計算の優先順位にはお気を付け下さいわーい(嬉しい顔)

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE