调用函数的困惑?请帮忙看一下。
要求是输入m和n,求出它们之间的素数,统计素数的个数,并且求出素数的和。我写的程序如下:
#include<stdio.h>
#include<math.h>
int main(void)
{
int m,n,i,count,sum,result;
int prime(int i);
printf("Enter m,n:");
scanf("%d,%d",&m,&n);
result=prime(i);
printf("%d,%d\n",&count,&sum);
return 0;
}
int prime(int i)
{
int m,n,count,sum,j,k,item;
count=0;sum=0;
for(i=m;i<=n;i++){
k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0) break;
if(j>k)
count++;
item=i;sum=sum+item;
}
return count;
return sum;
}
红色的地方是我不明白的地方。
1.我最后的结果是要输出conunt和sum,但是调用函数的语句我不知道如何写,只好写成了result=prime(i)
2.最后判断i为素数后,每循环一次,统计一次,并求出相应的和,被调用的函数的值如何返回,使得最后输出count和sum。
是我写的那样吗?
3,我编译可以通过,运行之后,无论m和n输入什么样的数,最后的结果总是1245040,1245036。不知道循环哪个地方出了问题?