〃忝書γě渎ぐ 发表于 2020-2-3 20:01:30

char默认是signed,为什么没人加unsigned以求安全

#include <stdio.h>

int main()
{
    char c = -52;// unsigned char c = 52;
    printf("%d\n",c);
    return 0;
}

EthanHsiung 发表于 2020-2-3 20:01:31

编译器不一样,默认的就不一样。有的编译器默认的就是unsigned。
这可能是历史遗留问题。最早的ASCII码中,0~127就可以显示常见的字符
页: [1]
查看完整版本: char默认是signed,为什么没人加unsigned以求安全