仔细阅读下面程序,请给出运行结果_____________。 #include #include int f1(int x) {return x*x;} int f2(int x) {return x*x*x;} main() { int x=3,y

admin2018-11-21  25

问题 仔细阅读下面程序,请给出运行结果_____________。
#include
#include
int f1(int x)  {return  x*x;}
int f2(int x)  {return x*x*x;}
main()
{
int x=3,y1,y2,y3,y4;
int(*f)();
f=f1;
yl=(*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=9,y2=9,y3=27,y4=27
B、y1=3,y2=9,y3=27,y4=9
C、y1=3,y2=3,y3=9,y4=9
D、y1=3,y2=9,y3=9,y4=27

答案A

解析 本题考查C语言编程方面的概念和知识。
    程序中,f=f1是将函数指针f指向了函数f1,因此,y1=(*f)(x)是调用了函数f1,结果应该与y2=f1(x)直接调用函数f1相同,因此,y1=y2=9。
    同样f=f2是将函数指针f指向了函数f2,y3=f(x)是调用函数f2,与直接调用函数f2等价,因此,y3=27,y4=27。
转载请注明原文地址:https://kaotiyun.com/show/iRWZ777K
0

相关试题推荐
最新回复(0)