麻烦不要复制百度上的答案,int fa(int x){ return x*x; }int fb(int x){ return x*x*x; }int f(int (*f1)(),int (*f2)(),int x){ return f2(x)-f1(x); }main(){ int i;i=f(fa,fb,2); printf(“%d\n”,i);}
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 03:11:59
麻烦不要复制百度上的答案,int fa(int x){ return x*x; }int fb(int x){ return x*x*x; }int f(int (*f1)(),int (*f2)(),int x){ return f2(x)-f1(x); }main(){ int i;i=f(fa,fb,2); printf(“%d\n”,i);}
麻烦不要复制百度上的答案,
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(“%d\n”,i);
}
麻烦不要复制百度上的答案,int fa(int x){ return x*x; }int fb(int x){ return x*x*x; }int f(int (*f1)(),int (*f2)(),int x){ return f2(x)-f1(x); }main(){ int i;i=f(fa,fb,2); printf(“%d\n”,i);}
首先,你的printf括号里面的双引号打错了.这是个中文双引号,需要换成英文的.
第二,你的f函数,真的非要这么写么?现在的问题在于,int (*f1)(),int (*f2)(),编译器会认为,f1,f2这两个函数不需要参数,因为他们后面的括号里面没有东西.哪怕改成int f(int (*f1)(int),int (*f2)(int),int x)也好.不知道你能不能接受这样的改动.
改完代码:
#include
#include
int fa(int x)
{
return x*x;
}
int fb(int x)
{
return x*x*x;
}
int f(int (*f1)(int),int (*f2)(int),int x)
{
return f2(x)-f1(x);
}
int main()
{
int i;
i=f(fa,fb,2);
printf("%d\n",i);
return 0;
}
成功输出4