我无法想通为什么meter/30.48-foot不为0呢?挺难理解,是我基础哪里漏了吗?
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);
}