我在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);