繁体   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