Ubuntu Geany 编写c程序时调用math.h下的sqrt()函数报错

时间:2022-04-01 09:18:03
源代码:#include <stdio.h>
#include <math.h>

int main(void) 
{
float a,b,c;
float x1,x2;
float d;
printf("Input the value of a,b,c with , to separate:");
scanf("%f,%f,%f",&a,&b,&c);
printf("The quadratic equation with one unknown is %f X*X+%fX+%f\n",a,b,c);
if(a!=0)
{
d=b*b-4*a*c;
if(d==0)
{
x1=-b/2*a;
x2=x1;
printf("The solutions of equation are %f and %f\n",x1,x2);
}
else if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("The solutions of equation are %f and %f\n",x1,x2);
}
else
printf("The solutions of equation are %f+%fi and %f-%fi\n",-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a));
}else
printf("It's not a quadratic equation with one unknow\n");
return 0;
}
Geany 编译结果: Ubuntu Geany 编写c程序时调用math.h下的sqrt()函数报错
手动编译正常运行,结果: Ubuntu Geany 编写c程序时调用math.h下的sqrt()函数报错
本人linux新手,求大神帮忙解决,谢谢啦

5 个解决方案

#1


geany 编译的时候没有加 -lm 参数

#2


1楼正解,math的库你没有链接。

#3


请问怎么链接

#4


这我就不知道了,没用过,应该有个设置的地方

#5


琢磨了一下,可以这样修改:打开要编译的文件,点击菜单栏的生成——设置生成命令,在生成中加上-lm Ubuntu Geany 编写c程序时调用math.h下的sqrt()函数报错

#1


geany 编译的时候没有加 -lm 参数

#2


1楼正解,math的库你没有链接。

#3


请问怎么链接

#4


这我就不知道了,没用过,应该有个设置的地方

#5


琢磨了一下,可以这样修改:打开要编译的文件,点击菜单栏的生成——设置生成命令,在生成中加上-lm Ubuntu Geany 编写c程序时调用math.h下的sqrt()函数报错