C语言 我如何传递以下参数,它是什么类型?



我在C语言中相对较新,并找到了这个问题的代码。你如何传递函数的参数double (*f)(double),指针如何在其中工作?

函数如下:

double derivative(double (*f)(double), double x0, int order)

我的猜测是,首先你需要这样的东西:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double f(double x){
return pow(x,2);
} 
int main(){
double x = 2;
int order = 2;
derivative(f(x), x , 2);
}

我试过了,但没有用。感谢您的帮助。

double (*f)(double)是一个函数指针。这意味着您需要传递指向函数(或仅传递函数名称(的指针。在尝试中,您正在调用函数,然后传递返回值,这是不正确的。

正确的方法是:

derivative(f, x, 2);

最新更新