为什么printf在打印hex时只打印出一个字节?

为什么printf在打印hex时只打印出一个字节?

pixel_datavectorchar

当我这样做时,printf(" 0x%1x ", pixel_data[0] )我期待着看到0xf5

但我觉得0xfffffff5我打印出一个4字节的整数而不是1字节。

为什么是这样?我给printf了一个char打印输出 - 它只有1个字节,为什么printf打印4?

NB。在printf实现包裹第三方API内,但只是想知道,这是标准的功能printf


斯蒂芬大帝
浏览 3010回答 3
3回答

HUH函数

更好地使用标准格式标志printf(" %#1x ", pixel_data[0] );然后你的编译器为你输入十六进制前缀。
打开App,查看更多内容
随时随地看视频慕课网APP