- 博客(1)
- 收藏
- 关注
原创 为什么char类型的0xff打出来是ffffffff,print(02x%,tmp)
0xFF打印出来是0xFFFFFFFF的原因主要涉及到计算机中整数类型的表示和打印格式的问题。原因:整数提升问题。在C语言中,当使用printf函数打印char类型的变量时,如果该变量是有符号的(默认情况下,char可以是有符号或无符号的,具体取决于编译器和代码实现),并且其值为0xFF,这会被视为一个有符号数。在打印时,由于%x格式说明符期望一个无符号整数,因此编译器会进行整数提升。对于有符号的char,如果其值为正数且在char能表示的范围内(例如0x4A),则直接打印
2024-08-16 09:32:55
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人