嘿,如果你能告诉我编译器对我的方法做了什么,我将不胜感激。如果我用 Area(10.1,10.1);
调用它,它会返回 102
。所以 .01
被剪掉了?您是否有一个好的站点,我可以从中获取有关该特定主题的信息?谢谢你的时间!
float Area (float length, float width){
int result;
result = length*width;
return result;
}
最佳答案
由于您将 float 表达式的值分配给 int,因此数据会在分配时被截断(但在计算表达式之后)。
关于c++ - 编译器对我的类型转换方法做了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4892865/