有人可以在此printf语句中解释#签名的目的:
printf("%#d\n",15);
打印时似乎被忽略了。声明的输出是:
15
答案 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相同但是 不删除尾随零。