下面的序使用了函数指针,其运行结果是()。(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的结果。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/e290479bb77b11ee.html

相关文章

最近发表

好文推荐