scanf取不到输入的值

#include <stdio.h>
int main(void)
{
float weight;
float value;

scanf("%f",&weight);

printf("weight is %d \n",weight);

value = weight;

getchar();
getchar();

return 0;

}

这里weight一直是0 取不到输入的值,请问为什么会这样

#include <stdio.h>
int main(void)
{
float weight;
float value;
scanf("%f",&weight);
printf("weight is %f \n",weight);
value = weight;
 
getchar();
getchar();
 
return 0;
}

输出用%f,不用%d
浮点数输入输出都要用%f,不能用%d的

你输入都知道%f
输出咋%d呢