C语言以下这题选什么?为什么?详解

设函数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
fun的形参表第一个参数是char。第二个参数是float
A、A中调用fun的第一个参数是字符串,和形参表不一致,错误
B、fun返回void,不能用于给t赋值,错
C、‘65’不是一个字符,会发生常量转换溢出,最后只剩‘5’,错
D、是对的,32作为作为char型就是ascii码32对应的字符,后一个32是const int,会被隐式转换为float
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-09
本人认为选择D,理由如下:1.void表明无返回类型(B错了)。2.参数分别为字符(char,A错,C错)和浮点型(float,A、B、C、D的参数都可以)。ASCII码可以表示字符,D正确。说一下C,C的'65'这样表示是不合服C语言语法的,既不是字符串,也非数字或者字符。
第2个回答  2013-01-09
楼上是对的= =~
相似回答