簡體   English   中英

C 計算圓的面積和周長的程序無法編譯

[英]C Program for calculating area & perimeter of a circle won't compile

問題:

當我嘗試編譯程序時,我收到 3 個錯誤語句,其中 2 個與使用 pow 數學 function 嘗試對半徑變量求平方有關。 最后一個錯誤聲明指出我在第 11 行缺少一個分號,但我不知道在哪里。 對於這些新手問題,我深表歉意,希望您能幫助謝謝。

我試過的:

我試過只是做“半徑*半徑”來獲得半徑^ 2,而不是使用pow(半徑,2,0); 它有效,但我仍然收到“第 11 行預期;”錯誤。 同樣對於我的任務,我需要使用 pow function 所以我必須讓它工作。

我的代碼

#include <stdio.h> //Including standard library

double calculatingFunction(diameter) {
    const double pi = 3.14159;      //Declaring pi as a constant
    double radius = diameter * 0.5;     //Calculating radius
    double circumference = 2 * pi * radius; //Calculating circumference
    double area = pi * (pow(radius, 2.0));  //Calculating area

    return (circumference, area);   //returning values of circumference of area
}

//Beggning of main function
int main(void) {

    //Prompting User for Input
    printf("Please enter a value for the diameter of a circle"); 

    double diameter; //Variable to store User's input
    scanf("%lf", &diameter); //Scanning for User's input

    //Final Output listing the calculated perimeter and area of circle
    printf("\nPerimeter of Circle: %lf Area of Circle: %lf", 
    calculatingFunction(diameter));


    return 0; //End of Program

}

錯誤:

homework.c: In function ‘calculatingFunction’:
homework.c:8: warning: implicit declaration of function ‘pow’
homework.c:8: warning: incompatible implicit declaration of built-in 
function ‘pow’
homework.c:11: error: expected ‘;’ before ‘of’

節目目的:

我已經在我的代碼上留下了評論,所以應該很清楚 output 是什么預期的。 該程序基本上是接受用戶輸入的圓的直徑並從中計算面積和周長。

首先,第 11 行的錯誤是寫的 word area 沒有表明它是一個注釋。 其次pow<math.h>中定義。 包括這很可能會解決問題,否則請參閱SO 帖子。

最后,主要問題在於 return 語句。 在 C 中,您必須創建一個結構來返回多個值,或者使用指針 arguments。

typedef struct {
    double circumference, area;
} data;

data calculatingFunction(double diameter) {
    ...
    data ret = {circumference, area};
    return ret; //returning values of circumference of area
}

還要將直徑聲明為double ,否則編譯器通常會假定參數是int double似乎更適合這個參數。

pow()<math.h>中聲明。 您是否在標題中包含此內容?

(此外,您對第 9-10 行的評論正在運行到第二行 escaping 被注釋掉的部分,並導致編譯器錯誤。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM