C++ 警告:';0';与';%一起使用的标志p';gnu_printf格式

C++ 警告:';0';与';%一起使用的标志p';gnu_printf格式,c++,c,C++,C,请看下面的代码片段 printf("%s received signal: 0x%0p", __func__, signal); 编译时,我得到了 警告:“0”标志与“%p”gnu_printf格式一起使用 有人能告诉我如何解决这个警告吗?该%p标志用于打印指针的表示形式(例如,格式为0xffff0000abcdef);它不需要修改标志,例如,%f,您可以在其中设置要打印的小数位数 如果您的信号是POSIX信号(即类型为int),您希望使用%d表示十进制值,使用%x表示十六进制值(编辑:%\x

请看下面的代码片段

printf("%s received signal: 0x%0p", __func__, signal);
编译时,我得到了

警告:“0”标志与“%p”gnu_printf格式一起使用


有人能告诉我如何解决这个警告吗?

%p
标志用于打印指针的表示形式(例如,格式为
0xffff0000abcdef
);它不需要修改标志,例如,
%f
,您可以在其中设置要打印的小数位数


如果您的信号是POSIX信号(即类型为
int
),您希望使用
%d
表示十进制值,使用
%x
表示十六进制值(编辑:
%\x
表示形式为
0xNNN…
).

为什么要使用指针格式说明符打印信号?该信号是一个空*指针。虚拟无效句柄信号(无效*信号)