问:c语言问题. char a = (char)0xaa;//强转16进制 printf("%02x",a); 为什么结果是ffffffaa,而不是000000aa

答:

char范围最高000~127

数据溢出了

数据类型改为unsigned char就可以了。