使用C语言计算圆的面积时遇到undefined reference to main错误求助
解决C语言"undefined reference to main"错误:计算圆面积的代码修正
你遇到的错误原因很直接:C语言程序必须以main()函数作为执行入口,你的代码里只写了计算面积的area()函数,完全没有定义main(),链接器找不到程序的起始点,所以抛出这个错误。
下面是修正后的代码,同时优化了代码结构,让职责更清晰:
#include <stdio.h> // 专门负责计算圆面积的函数,只做计算逻辑 float calculateArea(float r) { return 3.14f * r * r; } int main() { float radius, area; printf("输入圆的半径:"); scanf("%f", &radius); area = calculateArea(radius); printf("圆的面积是:%.2f\n", area); return 0; }
关键修改点:
- 新增
main()函数,这是C程序运行的起点,必不可少 - 拆分了功能:把输入输出逻辑放在
main(),calculateArea()只负责计算,代码更易读和维护 - 原代码里函数内部有和函数同名的变量
area,虽然语法合法,但容易混淆,这里改成更清晰的命名 - 用
3.14f表示单精度浮点数,避免和双精度的隐式转换问题 - 输出时用
%.2f控制只显示两位小数,结果更美观
内容的提问来源于stack exchange,提问作者aa bb
相关产品推荐
相关产品推荐

