标题:C语言的一道单选题 求解+解释
只看楼主
wujiandao
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-7-12
结帖率:83.33%
已结贴  问题点数:20 回复次数:5 
C语言的一道单选题 求解+解释
有函数fun的定义形式如下。
int fun(float f){...}
则以下对函数fun的调用语句中,不正确的是()
A.fun(fun(0));    B.strlen(fun(0));    C.abs(fun(0));    D.scanf("%d",&(fun()));      

答案B
搜索更多相关主题的帖子: C语言 选题 求解 解释 
2009-07-13 16:22
mfh
Rank: 6Rank: 6
等 级:侠之大者
帖 子:179
专家分:411
注 册:2009-5-31
得分:5 
strlen()是对写符串进行操作!
2009-07-13 17:10
chenpan420
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2009-2-17
得分:10 
A选项中,fun(0)返回的是int型,可以自动被提升为float型数据;C是求绝对值函数,显然是对的;D是将一个int型的数据放入内存中,也是对的(应该是fun(0)吧,你写错了。。。)。答案是B。
2009-07-13 18:30
h_7226068
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-7-3
得分:0 
B。。。
2009-07-14 20:27
luojuan
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2009-2-22
得分:5 
选B
strlen是求字符串的长度
2009-07-14 21:30
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
得分:0 
选 D
strlen的参数是一个指针,换个说法就是一个无符号的四个字节的数,可以由int转换过来,虽然得不到自己想要的结果,但编译只是个警告;
而D太明显了,用&是取谁的地址呀,fun返回的是一个int整数,不是一个变量,就是说你scanf得到的值是没有地方存放的,专业一点就是运算&的左值是无效的,这个是通过不了编译的。
老大,劝你在不明白的时候自个儿写一下,试一下就得到结果了
2009-07-14 23:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-279487-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055500 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved