Trong cuốn sách "Tham chiếu đầy đủ về C", nó được đề cập char
theo mặc định không dấu.
Nhưng tôi đang cố gắng xác minh điều này với GCC cũng như Visual Studio. Người ta dùng nó như là ký theo mặc định.
Cái nào đúng?
char
có thể không dấu, vì quy tắc sử dụng int
để đọc giá trị sử dụng getchar()
, có thể trả về EOF
. EOF
thường được định nghĩa là -1
hoặc giá trị âm khác, lưu trữ trong một unsigned
không phải là những gì bạn muốn. Đây là tuyên bố: extern int getchar();
BTW, khuyến nghị này cũng xuất phát từ cuốn sách "C: A Reference Guide".
char
trường hợp đã ký , bạn phải sử dụng int
để lưu trữ giá trị trả về.