C/C++一道题目的答案-函数指针与指针函数

来源:互联网 发布:sql server 外键 编辑:程序博客网 时间:2024/06/04 22:44

题目:

若有以下说明和定义,在必要的赋值之后,对fun函数的正确调用语句是()。

int fun ( int *c){ ...}

void main()

{

 int (*a) (int *)=fun, *b(), w[10], c;

 ...

}

A. a=a(w); B. (*a)(&c); C. b=*b(w); D. fun(b);

【答案】B.

【解析】

在答案A中,a(w)调用正确,但将其返回值赋值给a是错误的,因为返回值是整型数,而a是一函数指针,所以答案A是错误的。

在答案C中,因b是一个返回值为整型指针的函数,*b(w)本身就是错误的。

在答案D中,b后面省略了括号,因为b是函数,故也是错误的。

而对于答案B来说,因为a指向了函数fun,所以它等价于fun(&c)的调用,是正确的。

【注】a为一个函数指针,b为一个指针函数。

原创粉丝点击