#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int x, *ptr_x;
float f , *ptr_f;
ptr_f = &f;
ptr_x = &x;
*ptr_x = 5;
*ptr_f = 1.5; //printf("%d %f\n", f,x);
printf ("\n\nxd = %d \t xf = %f \n ff = %f \t fd = %d", x,x,f,f);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
ff =%f的输出不是预期的.
xd = 5 xf = 0.000000
ff = 0.000000 fd = 1073217536
此代码的要点是显示如果使用%d打印浮动值并且打印int值为%f将会发生什么.
为什么即使我使用%f,浮点值也不能正确打印?