printf()中的哈希符号'#'有什么作用?

时间:2012-08-12 14:19:40

标签: c printf

int x = 0xff;
printf("%#x",x);

输出:0xff

printf("%x",x);

输出:ff

为什么输出会有差异? #具体做什么?

1 个答案:

答案 0 :(得分:6)

标准说:

  

7.21.6 - 2

     

结果转换为“替代形式”。 ...对于x(或X)   转换时,非零结果的前缀为0x(或0X)。

它还有其他有趣的东西(特别是花车),但我很少看到它的使用 - 老实说我承认我必须要记住它。