一道计算机C语言二级题

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:28:03
设函数fun的定义形式为
void fun(char ch,float x) {...}
则以下对函数的调用语句中,正确的是()
A fun("abc",3.0); B t=fun('D',16.5); C fun('65',2.8); D fun(32,32);

C正确
A:第一个参数用的是字符串,与函数第一参数是字符不相容
B:函数没有返回值
D:函数第一个参数是字符,不是数值。

答案是:D
A很明显是错的啊,第一个参数必须是字符,不能为字符串
B也是错的啊,函数没有返回值
C也是错的,‘65’本身就是语法错误啊
D是正确的,因为第一个参数字符可以使用ASCII码,所以
32和‘ ’(空格)是等价的。

实践是检验真理的唯一标准。
通过我的验证,D是对的,理由
个人认为D正解。
A,第一个参数字符串,错了。
B,函数无返回值,错了。
C,没见过'65'这样的字符。错了。
D,32可看作是ASCII码,表示ASCII码值为32的字符。正解。
不知道那位仁兄的借用。

D
A中第一个参数,"abc"为字符串类型,不能赋值给char类型
B中,函数没有返回值,因此不能赋值
C中'65'是一个错误的类型,既不是字符型又不是字符串类型
D中,第一个参数32可以转换为char型,可以调用函数,但是输出时输出编码值为32的字符:空格

选D
函数无返回值,所以B不对。参数ch为字符,所以A不对(("abc"是字符串,字符串是用双引号括起来的)。C中65不应该打引号。因为字符要打单引号,字符和整数可以转换。所以用整数表示的时候不打引号(用一个整数的时候需要打引号吗?不要。)
原因大家也都说了。好好看一看吧……

这道题只能选B
A选项,中的双引号不是基本数据类型,不选
C选项,'65'是错误写法
D选项,第一个32错误
B正确