如何使用%f说明符打印整数数字?

-1 c

#include<stdio.h>
main()
{
   int a = 66;
   printf("%f", a);
}
Run Code Online (Sandbox Code Playgroud)

打印0.0000作为答案,为什么?

而且它被%f替换%c为印刷B.我没理由.

请解释 !!

hac*_*cks 5

这是因为您的程序调用了未定义的行为.你可能得到任何预期或意外的东西.

C11:7.29.2格式化宽字符输入/输出功能:

如果转换规范无效,则行为未定义 .335)如果任何参数不是相应转换规范的正确类型,则行为未定义.

printf("%f",a);  
         ^ %f specifier expects arguments of type float/ double.  
Run Code Online (Sandbox Code Playgroud)

并且%f被替换为%c它正在打印B.我没有理由

字符的ASCII码B66.使用%c说明符打印(可打印)字符本身.