首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: void swap(int a, int& b) { int c=a; a=b; b=c; } 若执行语句序列 int x = 0, y = 1; swap(x, y); 则变量 x 和 y 的值分别是
有如下函数定义: void swap(int a, int& b) { int c=a; a=b; b=c; } 若执行语句序列 int x = 0, y = 1; swap(x, y); 则变量 x 和 y 的值分别是
admin
2015-07-22
30
问题
有如下函数定义:
void swap(int a, int& b) { int c=a; a=b; b=c; }
若执行语句序列
int x = 0, y = 1;
swap(x, y);
则变量 x 和 y 的值分别是
选项
A、0和0
B、0和1
C、1和0
D、1和1
答案
A
解析
参数传递有三种:
传值(value),传址(address),和传引用(reference)
传值时子函数(被调用者)复制父函数(调用者)传递的值,这样子函数无法改变父函数变量的值。函数swap的第一个参数就是传值调用,所以它的值不会改变
传址时父函数将变量的地址传递给子函数,这样子函数可以能过改写地址里的内容改变父函数中的变量
传引用则是一种看起来像传值调用,而实际上功能同传址一样的传递方式。子函数可以改写父函数的变量值。函数swap的第二个参数就是传引用调用,可以改变其值,所以执行完函数后,b值与a值相同,即都是0,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/CwNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestdclassBase{intb;public:Base(inti){b=i;}Voiddisp(
软件工程3要素包括方法、工具和过程,其中,______支持软件开发的各个环节的控制和管理。
非成员函数应该声明为类的【】函数才能访问该类的私有成员。
对c++编译器区分重载函数无任何意义的信息是
面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
耦合和内聚是评价模块独立性的两个主要标准,其中【】反映了模块内务成分之间的联系。
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
“年龄在18-25之间”这种约束是属于数据库当中的
存在定义inta[10],x,*Pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?
在关系数据库中,用来表示实体之间联系的是()。
随机试题
求曲面z=xy上点(1,2,2)处的法线方程
2007年3月,某建设单位与甲施工单位签订《施工合同》,约定由甲承建办公楼。接着甲又与乙施工单位签订一份《劳务分包合同》,约定由乙承包该办公楼的建设任务并承担所有责任。则下列说法错误的是()。
填列存货项目的期末余额,所涉及的科目有()。
基金管理人是基金一切活动的中心。()
某银行2008年3月25日向厂发放临时贷款10万元,贷款期限为3个月:假设利率为9‰,该厂于2008年6月25日银行按期还贷,应计收利息为()。
()是指在整个借款期间,不随借贷资金的供求状况而变化的利率。
Whichofthefollowingdoesnotbelongtothepost-listeningactivities?
控制器的功能为()。
TreesforDemocracyIamWangariMaathai.WhenIwasgrowingupinNyeriincentralKenya,therewasnowordfordesertinm
PartⅡReadingComprehension(SkimmingandScanning)Directions:Inthispart,youwillhave15minutestogooverthepassageq
最新回复
(
0
)