默认情况下是char还是unsigned?

在书“Complete Reference of C”中,提到char默认是unsigned。

但我试图验证这与GCC以及Visual Studio。默认情况下它已签名。

哪一个是正确的?

这本书是错的。该标准不指定纯文本是带符号还是无符号。

实际上,标准定义了三种不同的类型:char,signed char和unsigned char。如果#include< limits.h>然后查看CHAR_MIN,你可以发现如果plain char是signed或unsigned(如果CHAR_MIN小于0或等于0),但是即使如此,这三种类型在标准方面是不同的。

http://stackoverflow.com/questions/2054939/is-char-signed-or-unsigned-by-default

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:默认情况下是char还是unsigned?