首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下4个程序中,不能实现两个实参值进行交换的是 ( )。
以下4个程序中,不能实现两个实参值进行交换的是 ( )。
admin
2013-05-30
74
问题
以下4个程序中,不能实现两个实参值进行交换的是 ( )。
选项
A、void swap (float *p, float *q) { float *t ,a; t = &a; t = p; *p = *q; *q = *t; } void main () { float x = 8.0;y = 9.0; swap (&x, &y); cout<<x<<", "<<y<<
B、void swap (float *p, float *q) { float a; a = *p; *p = *q; *q = a; } void main() { float x = 8.0;y = 9.0; swap (&x, &y); cout<<x<<", "<<y<<end1;
C、void swap (float *p, float *q) { float x; x = *p; *p = *q; *q = x; } void main() { float a,b.; *a = 8.0;*b = 9.0; swap (a, b) ;
D、void swap (float &p, float &q) { float a; a = p; p = q; q = a; } void main() { float a = 8.0,b = 9.0; swap (a,b); cout<<x<<", "<<y<<
答案
4
解析
本题考核指针和引用作为函数形参。做此类题时,应学会整体比较,要不然花费的时间不亚于一个大的编程题。
①首先,这4个程序都是调用swap函数,而且目的都一致,交换传入的两个实参值。
②分析被调函数swap()。在选项A、B和C中都是指针作为形参,只有在选项D中,函数swap()是以引用作为形参。由指针和引用作为函数形参的特点可知,只要调用了函数,就能达到交换两个实参变量的值,所以这几个被调函数没有问题。
③再看主函数。在选项C中,没有定义指针类型变量,而是直接给指针变量赋值:
“floata,b;*a=8.0;*b=9.0;”,这显然是非法的。想直接开辟存储空间,交换两个常量值,是不可能的。所以只有选项C是错误的。
转载请注明原文地址:https://kaotiyun.com/show/bFNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是,【】。
前置自增运算符++重载为类的友元函数的形式为【】,重载为类的成员函数的形式为【】。(设类为A,类对象为a)
在关系数据库模型中,通常可以把外码所在的关系称为()。
如果表达式--x中的“--”是重载的类运算符,采用运算符函数调用格式,及表达式还可以表示为【】。
下列工具中,是需求分析常用工具的是()。
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是()。structnode{chardata;structnode*next;}a,
已知类MyClas有一个只需要一个double型参数的构造函数,其将运算符“+”重载为友元函数。要使语句序列MyClasx(1.2),y(2.3),z(0);z=x+y;能够正常运行,运算符函数operator+应在类中声明为()。
C++语言中的多态性是在编译时通过【】和模板体现的,在运行时是通过【】体现的。
以下关于私有和保护成员的叙述中,不正确的是
数据处理的最小单位是
随机试题
[*]
关于肾上腺皮质激素的分泌,下列哪一项是正确的
EPC承包合同的当事人是()。
[2012年第45题]下列物质使溴水褪色的是()。
基金市场营销分析的具体内容包括( )。
境内单位向境外单位提供的合同标的物在境内的合同能源管理服务,免征增值税。()
【2014广西】学生学业成就评价中用得最多的评价工具是()。
“选贤与能”是西周以前就已出现的用人观念,就我国封建社会的教育而言,下列关于朝代与选士制度的匹配正确的是()
2013年3月26-27日,金砖国家领导人第五次会晤在()举行,这是金砖国家峰会首次在非洲举行。
Researchershavefoundthatshort,intenseexercisesessionsprovetobehealthierthanlonger,moremoderatesessionswithane
最新回复
(
0
)