哈希符号在以下语句中的作用

时间:2015-07-29 07:51:43

标签: c

有人可以在此printf语句中解释签名的目的:

printf("%#d\n",15);

打印时似乎被忽略了。声明的输出是:

  

15

2 个答案:

答案 0 :(得分:3)

我自己没有提出这个答案。我刚刚进行了一次谷歌搜索,发现了这个:

"添加#将导致' 0'要添加到八进制数字(使用o转换说明符时),或者将0x加到十六进制数字前(使用x转换说明符时)。对于大多数其他转换说明符,添加#只会强制包含小数点,即使该数字没有小数部分。"

您可以在这里阅读更多内容: http://www.cprogramming.com/tutorial/printf-format-strings.html

答案 1 :(得分:3)

您可以查看printf documentation。您可以在#下找到flags的说明:

  

与o,x或X说明符一起使用时,该值前面带有0,0x或0X   分别用于不同于零的值。与e,E和f一起使用   强制写入的输出包含小数点,即使没有数字   会跟随。默认情况下,如果没有数字,则没有小数点   书面。与g或G一起使用时,结果与e或E相同但是   不删除尾随零。