问题
单项选择题
程序中若有如下说明和定义语句
char fun(char *);
main()
char *s="one",a[5]=0,*f1)()=fun,ch;
…
以下选项中对函数fun的正确调用语句是______。
A.(*f1)(a);
B.*f1(*s);
C.fun(&a);
D.ch=*f1(s);
答案
参考答案:A
解析: 本题考查函数指针。在C语言中,函数名代表对应函数的入口地址,所以可以定义一个指向函数的指针来存放这种地址。定义形式为:
函数类型(*函数指针名)(函数参数列表);
通过函数指针调用函数的形式为:
(*函数指针)(函数参数列表)
定义时,函数参数列表可以省略,但调用时不能省略。所以选项A正确。