有多个重载函数 "sqrt" 实例与参数列表匹配 我用visual studio2010编写,显示n=sqrt(m);这行错误,求指教!



//使用函数求100以内的全部素数
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,m;
int prime(int m);

count=0;
for(m=2;m<=100;m++){
if(prime(m)!=0){
printf("%6d",m);
count++;
if(count%10==0)printf("\n");
}
}
printf("\n");
return 0;
}
//定义判断素数的函数,如果x是素数则返回1(“真”);否则返回0(“假”)
int prime(int m)
{
int i,n;

if(m == 1) return 0;
n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i == 0){
return 0;
}

return 1;
}
你定乎磨卜义的m是Int型,而sqrt()中m应为double或浮点岁穗型,所以改为游行sqrt(m*1.0)即可。
改为;n=(int)sqrt(m);