Я читаю книгу по языку K & RC, следующий фрагмент кода:
char c;
while ((c = getchar()) != EOF) ...
Было упомянуто, что для EOF (я думаю, что это -1) это возвращаемое значение «вне диапазона» из getcharВ отличие от всех возможных значений, которые может вернуть getchar.
Мои вопросы следующие:
- Я запустил свою программу с char, и она прошла успешно, и мое понимание
signed char
canсохранить от -127 до +127, чтобы он мог проверить -1, как "вне диапазона"? - Может ли кто-нибудь привести простой пример, где приведенный выше фрагмент программы потерпит неудачу, если мы используем
char c
вместо int c
?
Спасибо!