В книге «Полная справка о С» упоминается, что char
по умолчанию она не подписана.
Но я пытаюсь проверить это с помощью GCC, а также Visual Studio. Это принимает как подписано по умолчанию.
Который правильный?
char
могут быть без знака, как правило, использовать int
для чтения значения с использованием getchar()
, которое может вернуть EOF
. EOF
обычно определяется как -1
или другое отрицательное значение, сохранение unsigned
которого не является тем, что вы хотите. Вот декларация: extern int getchar();
Кстати, эта рекомендация также взята из книги "C: Справочное руководство".
char
случая вам придется использовать int
для хранения возвращаемого значения.