全部问题 > 当前问题

D选项为什么是char*?如果是char*,那么int不是也要*了?

焦岚 2019-9-13 17:05:46

共 1 个回答

最佳答案

王幸 2019-9-18 10:07:35

void fun(int n,char *s){ …… } 对应这个函数的参数 int n 是 int型 char *s 是指针

问题来自: 指针和函数
设有以下函数:
void fun(int n,char *s){ …… }
则下面对函数指针的定义和赋值均正确的是 ______ 。
A. void (*pf)(); pf=fun;
B. void *pf(); pf=fun;
C. void *pf(); *pf=fun;
D. void (*pf)(int,char);pf=&fun;
答案:A
解析:正确的赋值语句是pf=fun,直接加函数名,因此排除C、D。另外,D选项中应为char *,而非char。当调用指向函数的指针时,*pf必须用括号括起来,即(*pf)(),因此选A。