为什么当将十六进制数字打印为带前导零的 8 位数字时,%#08X
not显示相同的结果0x%08X
?
当我尝试使用前者时,08
格式化标志已被删除,并且它不适用于仅8
.
The #
部分给你一个0x
在输出字符串中。这0
和x
计算您在列表中列出的“8”个字符08
部分。如果你希望它是相同的,你需要要求 10 个字符。
int i = 7;
printf("%#010x\n", i); // gives 0x00000007
printf("0x%08x\n", i); // gives 0x00000007
printf("%#08x\n", i); // gives 0x000007
还改变了情况x
,影响输出字符的大小写。
printf("%04x", 4779); // gives 12ab
printf("%04X", 4779); // gives 12AB
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)