一例を挙げると、>>663の理屈だと
signed char (8bit) , EOF が -1 のときなら、
char 型に入れても問題ないように読めるが、
その場合、255という文字と -1 が区別できなくなってしまう。
つまり、fgetc はちゃんとこの二つを区別してるのにそれをいったん
signed char 型に入れてしまうことで区別できなくなってしまうってこと。

この他のパターンもいろいろある。考えてみて。符号拡張には特に注意してね。