You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写计算圆周长与面积的C语言程序运行失败,求排查解决

问题原因及修复方案

你的代码计算逻辑本身没有错误,无法正常运行的核心问题是main函数的写法不符合现代C语言标准,此外还有一处可选优化和拼写小问题:

  • 标准C要求main函数必须返回int类型,你使用的void main是早年部分编译器支持的非标准写法,现在的GCC、Clang、MSVC等主流编译器都会直接拒绝编译这类代码,只要修改函数定义为int main(),并在函数末尾增加return 0;即可解决编译报错问题。
  • 部分控制台运行环境下,输入提示不会立刻打印出来,会直接卡住等待输入,只需要在打印输入提示的printf语句后加一行fflush(stdout);强制刷新输出缓冲区即可解决。
  • 输出语句里的周长单词拼写有误,circonferance应为circumference,该问题不影响程序运行,仅会导致输出的提示文字拼写错误。

修正后完整代码

#include <stdio.h>

int main()
{
    float radius = 0.0f;
    float circu = 0.0f;
    float area = 0.0f;
    const float PI = 3.14159f; // 增加const修饰更规范,PI为常量不会被修改

    printf("Input the radius of the circle:");
    fflush(stdout); // 可选,解决部分环境下输入提示不提前显示的问题
    scanf("%f", &radius);
    circu = 2.0f * PI * radius;
    area = PI * radius * radius;
    printf("\nThe circumference is %f", circu);
    printf("\nThe area is %f", area);
    return 0;
}

如果你使用的是极其老旧的Turbo C这类DOS环境下的编译器,也可以保留void main的写法,其他部分无需修改也能正常运行。

内容的提问来源于stack exchange,提问作者Mister-3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:45:06