错误代码:
#include <stdio.h>
int main( )
{
int i;
int n;
double sum;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum += 1/i;
}
printf("f(%d)=%f\n,n,sum);
return 0;
}
正确代码:
#include <stdio.h>
int main( )
{
int i;
int n;
double sum;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum += 1.0/i;
}
printf("f(%d)=%f\n",n,sum);//这里少了一个"
return 0;
}
有两处错误:1、当出现“[Error] expected primary-expression before ‘return’”时说明return前面有语法错误,需要改正。
2、而在for语句中的sum求和,根据运算的顺序先算除法,其次“/”是求商,而1/i是为0而1.0浮点数可以改变“1/i”的性质将其变为浮点数。