%x、%d、%u,都是打印int类型,因此,打印char类型时,会将char类型数据转换为intl类型。
当char类型数据最高位不为1时,转换不会出现问题,但是当char类型数据最高位为1时,会把最高位当作符号位处理,转化为int类型时,其他高3字节(12位)全部由1填充。
以16进制输出char类型,用%hhx(half half hex)格式控制符打印可以避免发生问题
%x、%d、%u,都是打印int类型,因此,打印char类型时,会将char类型数据转换为intl类型。
当char类型数据最高位不为1时,转换不会出现问题,但是当char类型数据最高位为1时,会把最高位当作符号位处理,转化为int类型时,其他高3字节(12位)全部由1填充。
以16进制输出char类型,用%hhx(half half hex)格式控制符打印可以避免发生问题