簡體   English   中英

我在C中遇到“沖突類型”錯誤

[英]I'm getting a “conflicting types” error in C

我目前正在為C課程編寫程序,其中我必須輸出形狀區域。

這是我程序中矩形區域的函數:

double rectangle() // calculate area of rectangle
{
    double length, width;

    printf("\nEnter length and width of rectangle: ");
    scanf("%g %g\n", &length, &width);

    return (length*width);
}

這是我所謂的函​​數rectangle()

if(strncmp(shape, "rectangle", 15) == 0)
    area = rectangle();

我在Linux Mint和GCC編譯器中使用Geany。

我收到的錯誤是

“ geometryv2.c:78:錯誤:'矩形'的類型沖突”

我看不出這里有什么沖突。 返回類型為double的函數將返回一個double。 在這里的任何幫助將不勝感激。 我對C還是很陌生,這實際上是我的第一個C程序。

謝謝!

您是否在使用rectangle()函數之前聲明了它? 如果不是,則假定返回一個int。

您需要這樣的一行:

double rectangle(void);

在調用它之前的某個位置,或者在調用它之前,在與它相同的模塊中定義函數。

區域變量的數據類型是什么?

還可以修復scanf:

scanf("%lg %lg")

暫無
暫無

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

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