[英]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.