c语言小问题,请问为什么unsigned与普通char输出时是不一样的呢
收起
char的二进制最高位是符号位,当它转成int类型时,系统会自动将最高位做符号位扩展,而恰好你的用例的前两个字节二进制最高位都是1,你可以把char[1] 改成0x7F试下,就会发现,这两个类型在这种case下是一样的
报告相同问题?