所以,我正在做作业,我的老师没有很好地解释功能。我将节省一些时间,并显示出错的主要部分:
#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/