【隔離】Cなら俺に訊け! Part.104【病棟】

このエントリーをはてなブックマークに追加
584デフォルトの名無しさん
if (0 <=c && c<=127) とすると、コンパイラが
comparison is always true due to limited range of data type
と警告を出しました。コンパイラは gcc 3.3 です。

自分のプログラム中では char c = -1 などということをしていて、
実際多くの処理系では EOF の値として -1 が試用されていますし、
上の条件判定が常に真になることはないと思うんですが。
コンパイラはなぜこのような警告を出しているのでしょうか?