不同数据类型,的赋值

各位,为什么第二个,第三个输出不一样,第二个的结果是9.00000,第三个是0.0000
int a=9;float=b;
b=a;
float*c=&a;
printf("%d",a);
printf("%lf",b);
printf("%lf",c);

代码呢?

你的格式化字符串必须跟类型相对应
float对应%f
int对应%d
不要乱写
c语言没那么智能,你告诉它是什么格式它就直接按那种格式转二进制存进内存里,那你读出来的数当然就乱码了