gpt4 book ai didi

c - C 程序中对函数的 undefined reference

转载 作者:行者123 更新时间:2023-11-30 18:49:55 26 4
gpt4 key购买 nike

我是 C 编程新手。老实说,这是我使用 Function 的第一个程序。但这不起作用。谁能告诉我问题出在哪里?

// Convert freezing and boiling point of water into Fahrenheit and Kelvin

#include<stdio.h>

void calculation(int);
void freezingCalculation(void);
void boilingCalculation(void);

int main (){

int temperature, fahrenheit, kelvin;


void freezingCalculation(void){
int temperature = 0;
calculation(temperature);
printf("Freezing point in Fahrenheit is %d. \n", fahrenheit);
printf("Freezing point in Kelvin is %d. \n", kelvin);
}

void boilingCalculation(void){
int temperature = 100;
calculation(temperature);
printf("Boiling point in Fahrenheit is %d. \n", fahrenheit);
printf("Boiling point in Kelvin is %d. \n", kelvin);
}

void calculation(int temperature){
//Temperature in fahrenheit
fahrenheit = ((temperature * 9) / 5) + 32;

//Temperature in Kelvin
kelvin = temperature + 273;
}

}

最佳答案

问题是,您试图在 main() 函数内部定义函数。这在纯 C 中是不允许的。Some compiler extensions allows "nested functions", but that's not part of the standard .

这里发生的情况是,编译器看到函数声明,但找不到函数的任何定义,因为它们不在文件范围中。

您需要将函数定义移出 main() 并根据要求从 main() 调用函数。

关于c - C 程序中对函数的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519273/

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