if文について
Posted: 2009年11月11日(水) 19:41
以下のようなプログラムで、前者の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文内が実行されません。
どうしてなのか、ご教授願えないでしょうか?
#include <stdio.h>
int main(){
char a = 0xf0;
if((unsigned char)a & 0xff == 0xf0) //こちらでは条件にあてはまらない
//if(((unsigned char)a & 0xff) == 0xf0) //こちらでは条件にあてはまる
{
}
return 0;
}