首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下4个程序中,不能实现两个实参值进行交换的是 ( )。
以下4个程序中,不能实现两个实参值进行交换的是 ( )。
admin
2013-05-30
41
问题
以下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全国计算机二级
相关试题推荐
C++语言中规定函数的返回值的类型是由()。
下面程序用于计算矩阵的两条对角线上的元素之和。补充下列语句,实现该功能。#include<iostream.h>voidmain(){inta[3],[3]={9,8,7,6,5,4,3,2,1};ints
类是C++中的一种新的数据类型,下列有关类的说法不正确的是______。
当将E-R模型转换为关系模型时,对于两实体间m:n联系,必须对“联系”单独建立_______,用来联系双方实体。
前置自增运算符++重载为类的友元函数的形式为【】,重载为类的成员函数的形式为【】。(设类为A,类对象为a)
在树中,度为零的结点称为【】。
结构化程序设计的三种结构是()。
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是()。structnode{chardata;structnode*next;}a,
已知outfile是一个输出流对象,要想将outfile的文件指针定位到当前位置之前321字节处,正确的函数调用语句是()。
关于虚函数,下列表述正确的是()。
随机试题
冻伤患者局部复温宜在加有弱抗菌药的_________中进行。
编制科目汇总表,可以简化总账的登记工作,同时也便于了解经济业务内容
“十八大”提出,从2010年到2020年要实现“两个倍增”计划是()
有关听神经鞘瘤组织学,下列哪项描述不正确
应急预案的评审或者论证应当注重的内容有()。
在行政诉讼中,()。
根据增值税法律制度的有关规定,下列各项中不可以作为增值税进项税额抵扣凭证的有()。
以下不属于根据认知发展进行的游戏分类的是()。
有时需要你做些端茶倒水的事。你怎么办?
Weassumedethicsneededthesealofcertainty,elseitwasnon-rational.Andcertaintywastobeproducedbyadeductivemodel:
最新回复
(
0
)