foot为什么可以直接等于这样,12咋不见了

img


好懵啊,是省略了吗?还是可以忽略不计呢?为什么英尺又有。咋凑不满30字呢

因为c语言中将浮点型付给整形会丢掉精度,即只取浮点数的整数部分。所以代码中 int foot = cm / 30.48; 得到的是有多少个完整的英尺。接着再将小数部分换算为英寸
int inch = (cm/30.48 - foot) * 12;
同样道理,这里的英寸也丢掉了精度,只保留整数部分。

提个醒:把浮点型的数据赋给int型,小数部分会舍去