2005年9月二级C语言一道题

(30)设函数fun的定义形式为voidfun(charch,floatx){…}则以下对函数fun的调用语句中,正确的是A)fun("abc",3.0);B)t=fun... (30)设函数fun的定义形式为
void fun(char ch, float x ) { … }
则以下对函数fun的调用语句中,正确的是
A)fun("abc",3.0); B)t=fun('D',16.5);
C)fun('65',2.8); D)fun(32,32);
为么选D。char不是对应着字符么float 对应着实数么
展开
 我来答
hoarymarmot
2011-02-24 · TA获得超过1481个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:216万
展开全部
char 是字符变量,所以 'D',或是 32都是正确的表示,因为每个字符都有其ASCII码,是一个128以内的整数。而'65' 是一种错误的表示形式。
float 要求浮点数,但c语言里还有一个机制就是数据类型的自动转换,如可以允许函数的参数从整形数自动转换成浮点数。这也就是说B与D从这一点上来说都可是正确的。
但这个题的第三个考点是:void ,也就浊fun函数没有返回值,所以t=fun(..),是错的。
所以答案是D
Aaron_Lewis
2011-02-24 · TA获得超过453个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:329万
展开全部
char 是特殊的 int , 存储空间占用大小一样
A 不对,应为 abc 有三个 char 大小;
B 没有返回值
C 同A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chemix123
2011-02-24
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
A双引号括起来的是字符串;
B是一个赋值语句;
C单引号括了两个字符了;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
as69212
2011-02-24 · 超过23用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:91.2万
展开全部
因为先D是因为 输入32实际是输入的ASCII码的32位 实际上他已经被强制转换为Char类型了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
agathalai
2011-02-24
知道答主
回答量:26
采纳率:0%
帮助的人:7.8万
展开全部
A."abc"不对
B.t=
C.'65'
D.自动转换 √
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式