- C言語なら俺に聞け(入門編)Part 127©2ch.net
415 :デフォルトの名無しさん[]:2015/04/13(月) 00:15:55.92 ID:XrkvqAK6 - すみません質問です。
if文の判定部分に関数を入れて、そのまま判定を行っているのですが unsign char型(以後UBと表記)ですべて統一しているのに、マイナスの判定になります…。 これでどうしてvalに2が代入されるのでしょうか…助けてください。 ちなみに、ifの判定をこのようにキャストして書くと上手くいきます。→ (UB)abc() > 0 スマホからなので読みにくいかもしれません。 void main(void){ UB val =0; if(abc() > 0){ val=1; }else{ val=2; } } UB abc(void){ UB temp=0x80; return temp; }
|