在 C 中,我想使用 printf 来显示指针,以便它们正确排列,我想用 0 填充它们。
我的猜测是这样做的正确方法是:
printf("%016p", ptr);
这可行,但这个 gcc 抱怨以下消息:
警告:'0' 标志与 '%p' gnu_printf 格式一起使用
我已经用谷歌搜索了一下,以下线程是关于同一主题的,但并没有真正给出解决方案。
http://gcc.gnu.org/ml/gcc-bugs/2003-05/msg00484.html
读起来,gcc 抱怨的原因似乎是我建议的语法在 C99 中没有定义。但我似乎找不到任何其他方式以标准批准的方式做同样的事情。
所以这是双重问题:
- 我的理解是否正确,这种行为不是由 C99 标准定义的?
- 如果是这样,是否有标准批准的便携方式来执行此操作?