我正在构建一个计算球体表面积的程序。我还做了一个额外的功能,允许用户只输入一个正数。在设置循环之前,我为表面区域定义了函数,但由于未定义函数,因此无法编译。代码显示:
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
我很感激任何解决方法。但是,请不要在答案中显示代码。
答案 0 :(得分:0)
您没有定义函数float sa_sphere(float r);
,因此在链接编译器引发的链接错误期间。您必须在代码中定义该函数。如果您是新手,请检查功能定义的含义。祝好运。