与索引 returns 1 的分数求和

Sum with a fraction with an index returns 1

我想对从 1 到 1/100 的所有分数求和,但是当我编译以下代码时我得到“1”。

#include <stdio.h> 

main(){ 
    int i,sum; 
    sum=0;
    for (i=1;i<=100;i++){ 
        sum=sum+(1/i);
    }
printf("%d",sum);
}

for 循环不应该 return

我在这里错过了什么?

因为您使用的是整数,1/i 总是四舍五入为 0,所以您的总和永远不会改变。 将 int 替换为 floatdouble.