所以,我正在做作业,我的老师没有很好地解释功能。我将节省一些时间,并显示出错的主要部分:

 #include <stdio.h>
 6  int main(void)
 7  {
 8   double Depth;
 9   double celsius_at_depth(Depth);
10  {
11   10*(Depth)+20;
12  }

以及错误:
GHP#4.c:9:2: warning: parameter names (without types)
in function declaration [enabled by default]
double celsius_at_depth(Depth);
^

抱歉格式化,我想让它更容易看。double不应该是函数cellusis\u at\u depth的参数类型吗?
编辑:我已经在网站上查找了这个错误,但是我没有看到与代码格式相同的错误,所以我觉得最好重新发布

最佳答案

在另一个函数中定义函数是gcc AFAIK的非标准扩展,所以这不是一个好主意。
要声明函数,首先需要将它移到main()之外

double celsius_at_depth(double depth);

然后你可以这样称呼它
#include <stdio.h>
int main(void)
{
    double depth = 10;
    printf("celsius_at_depth(%f) = %f\n", depth, celsius_at_depth(depth))
    return 0;
}

那么函数定义
double celsius_at_depth(double depth);
{
    return 10 * depth + 20;
}

关于c - 函数声明中的参数名称(无类型),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29269227/

10-12 18:21