首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言入門:main 函數缺少返回類型導致編譯錯誤修正

     編輯:程式設計綜合問答

錯誤代碼

#include <stdio.h>
#include <math.h>
const double PI = 3.14;
main()   // 錯誤:缺少返回類型
{
    double r,h,C1,Sa,Sb,Va,Vb;
    scanf("%lf%lf",&r,&h);
    C1=2*PI*r;
    Sa=PI*r*r;
    Sb=4*PI*r*r;
    Va=4.0/3*PI*r*r*r;
    Vb=PI*r*r*h;
    printf("C1=%.2lf\nSa=%.2lf\nSb=%.2lf\nVa=%.2lf\nVb=%.2lf\n",C1,Sa,Sb,Va,Vb);
    return 0;
}

錯誤原因

C99 標準規定 main 函數必須顯式聲明返回類型 int,舊式隱式 int 已被廢棄。編譯器報錯:「main 前面少了東西」。

正確寫法

int main(void)   // 或 int main()
{
    // ... 業務邏輯
    return 0;
}

補充說明

  • #include <math.h> 需在編譯時鏈接數學庫(GCC 加 -lm)。
  • 球體體積公式 Va=4.0/3*PI*r*r*r 中 4.0/3 為浮點除法,正確;若寫 4/3 會整數除法得 1,導致結果偏差。
  • 建議使用 M_PI(math.h 定義)替代手寫 3.14,精度更高。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved