c 语言程序 结果为什么是0.000000

#include<stdio.h>intmain(){inti;intsum=0;for(i=1;i<=10;++i){floatk;k=1/i;sum=sum+k;}p... #include<stdio.h>
int main()
{
int i;
int sum=0;
for (i=1;i<=10;++i)
{
float k;
k=1/i;
sum =sum+k;
}
printf("sum=%f\n",sum);
return 0;
}
展开
 我来答
AivenYoung光影
2014-06-14 · TA获得超过276个赞
知道小有建树答主
回答量:239
采纳率:68%
帮助的人:69.2万
展开全部
关键在于你定义的i是int型,
计算k=1/i;的时候,其实是先计算1/i,计算出来的值为0,然后0进行类型转换赋值给k,

则k = 0.000000。
所以你每次加的其实都是0.000000。

这样导致了最后的结果。

-------您的采纳使我们前进的动力-------
-------能言善编团队------------------------
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式