以下のようなプログラムで、前者のif文でif内が実行されると
思っていたのですが、実際は後者のようにしないとif文内が実行されません。
どうしてなのか、ご教授願えないでしょうか?
#include <stdio.h>
int main(){
char a = 0xf0;
if((unsigned char)a & 0xff == 0xf0) //こちらでは条件にあてはまらない
//if(((unsigned char)a & 0xff) == 0xf0) //こちらでは条件にあてはまる
{
}
return 0;
}
if文について
Re:if文について
演算子の優先順位については、おおかたの入門書に書いてあるはずです。
ただ、すべての順位を覚える必要はありません。
自分が行ないたいようにカッコを書けばよいです。変にうろ覚えするより、よほど確実です。
ただ、すべての順位を覚える必要はありません。
自分が行ないたいようにカッコを書けばよいです。変にうろ覚えするより、よほど確実です。