请查看下面的代码段。
printf("%s received signal: 0x%0p", __func__, signal);
编译时,我得到了
警告:' 0'用于'%p' gnu_printf格式。
任何人都可以告诉我如何解决这个警告?
答案 0 :(得分:2)
foreign keys=True
标志用于打印指针的表示(例如%p
形式的内容);它不需要修改标记,例如0xffff0000abcdef
,您可以在其中设置要打印的小数位数。
如果您的信号是POSIX信号(即类型为%f
),您希望int
用于十进制值,%d
用于十六进制值(编辑:%x
形式为%#x
)的十六进制表示。