求教两道~C语言笔试题

(32)下列函数的功能是fun(char*a,char*b){while((*b=*a)!='\0'){a++;b++;}}A)将a所指字符串赋给b所指空间B)使指针b指... (32)下列函数的功能是
fun(char *a,char *b)
{ while((*b=*a)!='\0'){a++;b++;} }
A)将a所指字符串赋给b所指空间
B)使指针b指向a所指字符串
C)将a所指字符串和b所指字符串进行比较
D)检查a和b所指字符串中是否有'\0'

33.
(33)设有以下函数:
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;

32题中的
while((*b=*a)!='\0'){a++;b++;}
A)将a所指字符串赋给b所指空间
B)使指针b指向a所指字符串
的区别

本人认为是执行b=a,先把a的地址赋给b,再有然后*b=*a的 所以本人选B

33题
A)void (*pf)(); pf=fun; 是一个函数指针
B)void *pf(); pf=fun; 是什么指针呢?
还有
A)void (*pf)(); pf=fun;
B)void *pf(); pf=fun;
C)void *pf(); *pf=fun;
D)void (*pf)(int,char);pf=&fun;
分别错在哪里~~
谢谢大家的帮忙
正确答案是 32题,33题都选A
展开
 我来答
tongfans
2010-09-16 · TA获得超过1127个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:725万
展开全部
32.答案:
A)将a所指字符串赋给b所指空间
因为是执行*b=*a,所以只修改了b指向的值,没有修改地址。

33.答案:
D)void (*pf)(int,char);pf=&fun;
函数指针需要参数列表匹配,所以A排除,B、C声明的只是一个返回值为void*的函数,根本就不是函数指针,所以也排除,答案为D。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式