函数

时间:2018-02-24 21:51:22

标签: c linux

我正在构建一个计算球体表面积的程序。我还做了一个额外的功能,允许用户只输入一个正数。在设置循环之前,我为表面区域定义了函数,但由于未定义函数,因此无法编译。代码显示:

include <stdio.h>
#define PI 3.1415
float sa_sphere(float r);
int main()
{  
    float r;
    do{
        printf("Enter a positive radius: ");
        scanf("%f", &r);
        if (r<0){
            printf("Error: number entered is not positive.\n");}
    }
    while (r<0);{

        printf("The surface area is: %.2f\n",sa_sphere(r));}
    return 0;
}

我使用Linux Mint编译它 - gcc gg.c然后./a.out其中gg是我的文件名。

/tmp/ccRUfp76.o: In function `main':
gg.c:(.text+0x6e): undefined reference to `sa_sphere'
collect2: error: ld returned 1 exit status

我很感激任何解决方法。但是,请不要在答案中显示代码。

1 个答案:

答案 0 :(得分:0)

您没有定义函数float sa_sphere(float r);,因此在链接编译器引发的链接错误期间。您必须在代码中定义该函数。如果您是新手,请检查功能定义的含义。祝好运。