У книзі "Повна довідка C" згадується, що char
за замовчуванням не підписано.
Але я намагаюся перевірити це за допомогою GCC, а також Visual Studio. Він приймає його як підписане за замовчуванням.
Який з них правильний?
char
може бути без підписання, як правило, використовуйте a, int
щоб прочитати значення з використанням getchar()
, яке може повернутися EOF
. EOF
зазвичай визначається як -1
або інше від'ємне значення, яке зберігання в значенні unsigned
не є тим, що потрібно. Ось декларація: extern int getchar();
BTW, ця рекомендація також походить з книги "C: Довідковий посібник".
char
випадку вам доведеться використовувати int
для зберігання повернутого значення.