(33)设有以下函数 void fun(int n,char * s) {……} 则下面对函数指针的定义和赋值均是正确的是 A)void (
A)void(*pf)();pf=fun;B)viod*pf();pf=fun;C)void*pf();*pf=fun;D)void(*pf)(int,char);pf=...
A)void (*pf)(); pf=fun;
B)viod *pf(); pf=fun;
C)void *pf(); *pf=fun;
D)void (*pf)(int,char);pf=&fun;
请问D错在哪里? 展开
B)viod *pf(); pf=fun;
C)void *pf(); *pf=fun;
D)void (*pf)(int,char);pf=&fun;
请问D错在哪里? 展开
推荐于2018-03-28
展开全部
A正确
B,C定义的不是函数指针;D类型错(应为char *),赋值也错(函数fun这个名字指的就是这个函数的地址)。
A是定义的void类型的函数指针,赋值时是把函数首地址(用fun表示)赋给pf这个函数指针。
B,C定义的不是函数指针;D类型错(应为char *),赋值也错(函数fun这个名字指的就是这个函数的地址)。
A是定义的void类型的函数指针,赋值时是把函数首地址(用fun表示)赋给pf这个函数指针。
展开全部
严格的说,这几个没有一个对的。D错的地方很明显,参数类型错了!
正确的应该是这样的
void (*pf)(int,char*s);pf=&fun; // pf=fun 也是对的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |