Linux下用C編程 sqrt函數找不到,已解決

#include <stdio.h>
#include <math.h>

void main(){
    float a,b,c,disc,x1,x2;
    printf("input a,b,c: ");
    scanf("%f,%f,%f",&a,&b,&c);
    disc= b*b-4*a*c;
    if(disc>=0){
    x1= (-b+sqrt(disc))/(2*a);
    x1= (-b-sqrt(disc))/(2*a);
    printf("\nx1=%6.2f\nx2=%6.2f\n",x1,x2);
    }else{
        printf("解不存在!\n");
    }
}

使用gcc編譯時,需要在後面加上參數-lm,m即math的簡寫,否則會報sqrt函數找不到錯誤。就像寫posix thread的程序時,編譯時需要加上-lpthread 一樣。

轉自:http://blog.sina.com.cn/s/blog_6a95e00b0100zoyz.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章