C语言中类型转换的一点困惑,希望各位大大能给予帮助
[code=c][/code]
char ch1 = 0X8F;
char ch2 = 0X8F;
ch1 == 0X8F //结果为假
ch2 == 0X8F //结果为真
请问这是为什么?大大们能否给出比较过程中的类型转换
[解决办法]
char 可能是signed char,也可能是unsigned char。这个取决于你的编译器
如果是signed char ,8位的话取值范围是-128..127
而unsigned char 的取值范围是0..255
0x8f已经超过127了