c语言小白,这个sum不是应该等于1.5吗?

执行以下程序段,sum的值是1 ?

int i, sum;

sum = 0;

for (i = 1; i <= 2; i++)

{

sum = sum + 1.0/i;

}

sum是int

sum+1      sum=1

sum+0.5    sum=(int)1.5=1

sum是int类型,会舍去小数点后的。

sum是整形,会在除法运算中取整(也就是舍去小数点)

当i=2时,1.0/2=0.5,会将0.5舍去变成0

所以sum的最终结果为1

sum是int类型,不改变,咋样都不会是1.5的

sum是int型

如果为浮点型显示1.5

感谢大家,明白了