单选题
有以下程序
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);pfintf(“%d/n”,i);
程序运行后的输出结果是
【正确答案】
C
【答案解析】[解析]函数f()有3个形式参数f1、f2和x,其中f1、f2是指向函数的指针变量。在main()函数中执行了函数调用“f(fa,fb,2)”,从而使f()的形式参数f1指向了fa,形式参数f2指向了fb,把实参2传给了形参变量x。函数f()中的return语句相当于“fb (2)-fa(2)”(fb(2)的返回值为2*2*2=8,fa(2)返回值为2*2=4)即(8-4),值为4。函数f()执行后把返回值4赋给了i,输出i的值是4。