MW211 EXIT

devlog
C言語/落とし穴シリーズ(1)
2013年12月16日
┌──────────────────────────────────────┐
│if (!(変数 == 値)) {                                                        │
└──────────────────────────────────────┘
という条件文を書こうとしたけど、うっかり括弧を書き損ねた場合。
┌──────────────────────────────────────┐
│if (!変数 == 値) {                                                          │
└──────────────────────────────────────┘

優先順位の関係で、以下のように解釈されるらしい。
┌──────────────────────────────────────┐
│if ((!変数) == 値) {                                                        │
└──────────────────────────────────────┘

変数が「int型」だったりした場合、「!」演算で「bool型」扱いとなるため
キャストが発生する(Warningが発生するかも)。
分類:C/C++