为什么这个价值会被切断?

时间:2013-10-09 20:16:39

标签: hex printf

所以我正在尝试使用printf在c ++中打印出十六进制值,好吧,我希望以下字符串的输出为val:0x0366,包括前导0

这是代码

 int poo = 0x00000366;
 printf("val:0x%x \n",poo);

这是输出:

0x366

1 个答案:

答案 0 :(得分:1)

您是否尝试过printf("val:0x%04x \n",poo);

根据printf reference

格式说明符遵循此原型:

%[flags][width][.precision][length]specifier

在你的情况下:

%[0][4][default precision][default lenght]x
相关问题