下面的程序使用了函数指针,其运行结果是()。(2014年嵌入式系统设计师) #include <stdio.h> #include <math.h> intf1(inta) {returna*a;}
下面的程序使用了函数指针,其运行结果是()。(2014年嵌入式系统设计师)
#include <stdio.h>
#include <math.h>
intf1(inta) {returna*a;}
intf2(inta) {returna*a*a;}
voidmain()
{ intx=3,y1,y2,y3,y4;
f=f1;y1=(*f)(x);
y2=f1(x);
f=f2;y3=f(x);
y4=f2(x);
printf("y1=%d,y2=%d,y3=%d,y4=%d\n",y1,y2,y3,y4);
}
A.y1=27,y2=9,y3=9,y4=27
B.y1=9,y2=9,y3=27,y4=27
C.y1=9,y2=27,y3=9,y4=27
D.y1=27,y2=27,y3=9,y4=9
参考答案:B
参考解析:本题考查C语言函数指针的基础知识。
仔细阅读程序,正确理解函数指针并将参数正确代入函数,可得到y1=9,y2=9,y3=27,y4=27的结果。