关于定义的变量类型跟接收的数据类型不一致的问题

如以下代码,定义一个整形变量a,但是键盘输入的是浮点型,请问最终a的值是多少呢?为甚我输入10结果是0


```c
#include<stdio.h>
int main()
{
    int a;
    scanf("%f",&a);
    printf("f的值为%f",a);
    return 0;
}


得到的结果是
10.0
f的值为0.000000

了解一下整形和浮点型的二进制表示