C中的小数八进制和十六进制转换说明符是什么?

What are the fractional octal and hexadecimal conversion specifier in C?

我知道在使用 printf 函数时,我可以用 %o 表示整数的八进制值,用 %x.
表示其十六进制值 但是,如何将浮点值表示为八进制或十六进制?
当尝试使用相同的说明符时,Xcode 13.x 可以预见地发出警告,告诉我我正在尝试使用具有浮点值的整数说明符。

我该如何解决这个问题?
谢谢

您可以使用 %a%A(分别使用小写字母或大写字母)以十六进制格式设置 floatdouble。没有八进制浮点转换说明符。

这会格式化值。如果您想查看浮点对象的表示,您应该使用 unsigned char * 访问它的字节,然后您可以使用 oxX 转换说明符。