标签: c printf
int x = 0xff; printf("%#x",x);
输出:0xff
0xff
printf("%x",x);
输出:ff
ff
为什么输出会有差异? #具体做什么?
#
答案 0 :(得分:6)
标准说:
7.21.6 - 2 结果转换为“替代形式”。 ...对于x(或X) 转换时,非零结果的前缀为0x(或0X)。
7.21.6 - 2
结果转换为“替代形式”。 ...对于x(或X) 转换时,非零结果的前缀为0x(或0X)。
它还有其他有趣的东西(特别是花车),但我很少看到它的使用 - 老实说我承认我必须要记住它。