搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ C语言的一道单选题 求解+解释
标题:
C语言的一道单选题 求解+解释
只看楼主
wujiandao
等 级:
新手上路
帖 子:11
专家分:0
注 册:2009-7-12
结帖率:
83.33%
楼主
已结贴
√
问题点数:20 回复次数:4
C语言的一道单选题 求解+解释
char fun(char*);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
.....
}
以下选项中对函数fun的正确调用语句是(A)
A.(*f1)(a); B.*f1(*s); C.fun(&a); D.ch=*f1(s);
搜索更多相关主题的帖子:
C语言
选题
求解
解释
2009-07-14 22:02
yt414204458
等 级:
论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
第
2
楼
得分:0
答案 是不是D啊,我有很久没看过C了,还有点影像
对应就OK了
一切从爱C开始
2009-07-14 22:10
ldg628
等 级:
火箭侠
威 望:
3
帖 子:526
专家分:3036
注 册:2009-6-23
第
3
楼
得分:0
选A吧
2009-07-14 23:12
gavinchou
等 级:
论坛游民
威 望:
1
帖 子:118
专家分:61
注 册:2009-2-11
第
4
楼
得分:20
应该是A啦,因为 fun() 的参数类型是指针,所以B,C错。又因为 fun()的返回值是char,所以D错。
A呢,就是一个函数指针,(*f1) 表示的就是 fun ,因为前面有了 (*f1)()=fun 这一赋值句。
这样讲应该明白吧?
2009-07-14 23:13
ldg628
等 级:
火箭侠
威 望:
3
帖 子:526
专家分:3036
注 册:2009-6-23
第
5
楼
得分:0
那是在定义处赋的值,相当于指针 char *p = "...", (*f1)()就是 *p, fun就是"..."这个的首地址,
(*f1)()就是*p,取它们的值,也就是fun或"...",跳到该地址取值,不同的是(*f1)()跳到了代码段,*p跳到了数据段;
像在打印的时候可以 ("%s", p),而函数同样可以f1(a);
2009-07-14 23:34
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-279577-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.060016 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved