int i; double sum = 0.0; double f = 1.0; for (i = 1; i <= n; i++) { sum+=f / i; f = -f; }
为什么这里的f必须是double类型才能正常运算?而i却可以是int类型呢?
回答:除法运算符 “/” ,如果都是整型,在计算时会舍掉小数部分,只保留整数部分,所以需要用浮点型,不然精度不够,会出错
因为i是整形,f是浮点型,你也可以用float