gpt4 book ai didi

c - 错误 "undefined reference to"

转载 作者:行者123 更新时间:2023-11-30 18:15:04 24 4
gpt4 key购买 nike

我已经用 C 创建了一个基本脚本,但我在控制台中收到一个奇怪的错误。有人可以告诉我为什么我的脚本会给出此消息:

undefined reference to 'is_substance_within_x_percent'


源代码:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define P 0.3

#ifndef BOILING_POINTS_H
#define BOILING_POINTS_H
#define SUBSTANCE_CARBONDIOXIDE -78.5
#define SUBSTANCE_AMMONIA -35.5
#define SUBSTANCE_WAX 45.0
#define SUBSTANCE_WATER 100.7
#define SUBSTANCE_OLIVE_OIL 300.0
#define SUBSTANCE_MERCURY 356.9
#define SUBSTANCE_SULFUR 444.6
#define SUBSTANCE_TALC 1500.0
#define SUBSTANCE_SILVER 2212.0
#define SUBSTANCE_COPPER 2562.0
#define SUBSTANCE_GOLD 2700.0
#define SUBSTANCE_IRON 2862.0
#define SUBSTANCE_SILICON 3280.0
#endif

int is_substance_within_x_percent(double t,double p,double boils);

int main( )
{
double t, p, boils;
int substance;

is_substance_within_x_percent(t, p, boils);

printf("Enter the boiling temperature of the substance.\n");
scanf("%lf", &t);

return EXIT_SUCCESS;
}

char * substance_name(double t,int substance)
{
if (t >= SUBSTANCE_CARBONDIOXIDE - P *substance && t <= SUBSTANCE_CARBONDIOXIDE + P *substance)
printf("The substance found is Carbon Dioxyde");

else if (t >= SUBSTANCE_AMMONIA - P *substance && t <= SUBSTANCE_AMMONIA + P *substance)
printf("The substance found is Ammonia");

else if (t >= SUBSTANCE_WAX - P *substance && t <= SUBSTANCE_WAX + P *substance)
printf("The substance found is Wax");

else if (t >= SUBSTANCE_WATER - P *substance && t <= SUBSTANCE_WATER + P *substance)
printf("The substance found is Water");

else if (t >= SUBSTANCE_OLIVE_OIL - P *substance && t <= SUBSTANCE_OLIVE_OIL + P *substance)
printf("The substance found is Olive Oil");

else if (t >= SUBSTANCE_MERCURY - P *substance && t <= SUBSTANCE_MERCURY + P *substance)
printf("The substance found is Mercury");

else if (t >= SUBSTANCE_SULFUR - P *substance && t <= SUBSTANCE_SULFUR + P *substance)
printf("The substance found is Sulfur");

else if (t >= SUBSTANCE_TALC - P *substance && t <= SUBSTANCE_TALC + P *substance)
printf("The substance found is Talc");

else if (t >= SUBSTANCE_SILVER - P *substance && t <= SUBSTANCE_SILVER + P *substance)
printf("The substance found is Silver");

else if (t >= SUBSTANCE_COPPER - P *substance && t <= SUBSTANCE_COPPER + P *substance)
printf("The substance found is Copper");

else if (t >= SUBSTANCE_GOLD - P *substance && t <= SUBSTANCE_GOLD + P *substance)
printf("The substance found is Gold");

else if (t >= SUBSTANCE_IRON - P *substance && t <= SUBSTANCE_IRON + P *substance)
printf("The substance found is Iron");

else if (t >= SUBSTANCE_SILICON - P *substance && t <= SUBSTANCE_SILICON + P *substance)
printf("The substance found is Silicon");

else
printf("This substance is unidentified.");
}

最佳答案

首先,将第二个函数的名称更改为 is_substance_within_x_percent

第二,你没有在 main 中使用substance。

第三,为什么扫描而不使用它。

第四,在 main 中,您声明了三个双参数,并将它们传递给函数,但不知道其中的内容。

关于c - 错误 "undefined reference to",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42457523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com