2

次のコードがあります。control_word を 6 にすると、if 条件が true と評価されて if ブロックの中に入るのはなぜですか?ここで正確に何が起こっているのでしょうか?

#define MACRO1 0x01
#define MACRO2 0x02
#define MACRO4 0x04
#define MACRO3 MACRO1 | MACRO2
#define MACRO7 MACRO4 | MACRO3

int main()
{
    if(control_word == MACRO3 || control_word == MACRO7)
    {
        /*DO SOME OPERATION*/
    }
    else
    {
        /*DO SOMETHING ELSE */
    }

}
4

2 に答える 2