关于c语言sqrt函数出错的信息

C语言问题sqrt没法用

#includestdio.h

成都创新互联为企业级客户提高一站式互联网+设计服务,主要包括成都网站制作、成都网站建设、重庆APP软件开发小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。 

#includemath.h

int prime(int m)

{

int k,j;

k=(int)sqrt(m); //加个强制转换就可以了,不然会报警告。sqrt()的返回值类型是double    出现红线,只是有可能是拼写问题,不代表是错误

for(j=2;j=k;j++)

if(m%j==0)

return 0;

return 1;

}

int main()

{

int m=2,n=20,i,s;

s=0;

for(i=m;i=n;i++)

if(prime(i)==0)

s+=i;

printf("Sum is:%d\n",s);

return 0;

}

C语言为什么加上了头文件sqrt还是显示出错

int m =sqrt((double)i);C语言是没有重载的,C++才有,你应该是用C++的编译器来写C语言吧在C++中sqrt有两个重载函数,一个参数是double,另一个是float由于你传的参数是int在默认的隐式类型转换中int可以转换成float也可以转换为double,编译器就不知道你想调用哪一个。

vs2008 c语言 sqrt函数运行结果错误

VS C语言中 取根函数有 double sqrt(double ) ; float sqrtf(float); long double sqrtl(long double x); 看清楚了,每个sqrt是不一样的。

楼主的4.0不知道是什么类型 ,比如说是float,但是调用sqrt(4.0),所以可能是因为float-double隐式转换调用double sqrt(double x)导致你的结果出错。

error C2065: 'sqrt' : undeclared identifier C语言错误求高手解答

头文件加#include math.h//sqrt是math中的函数,

而且你的内循环有问题, 更改如下:

for(;b=d;b++)

{ c=a%d;

if(c==0)

break;

else if(b==d)

printf("%d \n",a);

}

完整程序如下

#include math.h

#include "stdio.h"

void main()

{ int a,b,c,d;

a=101; b=2;

printf("101到200的素数有以下\n");

for(;a201;a++)

{

d=sqrt(a);

for(;b=d;b++)

{ c=a%d;

if(c==0)

break;

else if(b==d)

printf("%d \n",a);

}

a++;

}

}


当前题目:关于c语言sqrt函数出错的信息
文章出自:http://myzitong.com/article/ddsigje.html