作业帮 > 综合 > 作业

麻烦不要复制百度上的答案,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 11:10:26
麻烦不要复制百度上的答案,
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