以下程序的输出结果是( )。
#include<stdio.h>
double f(int n)
{
int i;
double s=0;
for(i=1;i<=n;i++)
s+=1/i;
return s;
}
void main()
{
int i,m=3;
float a=0.0;
for(i=0;i<=m;i++)
a=a+f(i);
printf("%f\n",a);
}
因为不管i是1还是2,还是3,f(i)都是==1;当1/i时,如果i是一个大于1的整数,1/i==0,一个整数除以另一个整数,得出来的结果也是一个INT的数,比如1/2==0;1/3也等于0;