为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
海绵宝宝撒 2019-09-06 07:06:59
为什么printf在打印hex时只打印出一个字节?pixel_data是vector的char。当我这样做时,printf(" 0x%1x ", pixel_data[0] )我期待着看到0xf5。但我觉得0xfffffff5我打印出一个4字节的整数而不是1字节。为什么是这样?我给printf了一个char打印输出 - 它只有1个字节,为什么printf打印4?NB。在printf实现包裹第三方API内,但只是想知道,这是标准的功能printf?
查看完整描述

3 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

更好地使用标准格式标志

printf(" %#1x ", pixel_data[0] );

然后你的编译器为你输入十六进制前缀。


查看完整回答
反对 回复 2019-09-07
  • 3 回答
  • 0 关注
  • 682 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信