为何把除数改为double型的,结果就不同了呢?
4为int型,4.0为float类型。sum除以4的时候,结果为int型,105/4等于26.25,但是强制转换为int型,需要去掉小数点,即为26,但是结果为26.0,是因为int型被强制转换为了double类型。 而105/4.0,结果为float,支持小数类型,所以转换为double也是26.25.
因为编译器会根据除数的数据类型来做运算的,你觉得4和4.0一样吗?