请问这两个为什么可以减呢?

我无法想通为什么meter/30.48-foot不为0呢?挺难理解,是我基础哪里漏了吗?

img

meter/30.48是浮点数 ,foot是整数啊
int foot = meter / 30.48,这里foot实际只是meter/30.48的整数部分啊,当然再想减不一定是0

meter/30.48是浮点数,
foot是整数,
当然两者相减不可能是0了。

foot是int类型,用他存放一个小数(meter/30.4)会产生错误,因为运算中出现了小数,所以把foot和inch改为double类型更适合,使用doule类型相减的结果是0.

#include <stdio.h>

int main(void){
    
    int meter = 0;
    scanf("%d",&meter);
    
    double foot = meter/30.48;
    double inch = 12*(meter/30.48 - foot);
    printf("%lf",inch);
}

img