首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
46
问题
有如下函数定义:
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://www.kaotiyun.com/show/CwNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面叙述中错误的是
以下程序的输出结果是【】。#include<iostream.h>classobject{private:intval;public:
在程序设计阶段应该采取【】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
两个变量定义不能同名,是因为()。
假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为()。
如果类B继承了类A,则称类A为类B的基类,类B称为类A的【】。
有以下类定义:classMyClass{private:intid;chargender;char*phone;public:MyClass()
执行语句序列ofstreamoutfile("DATA.DAT");if(...)cout<<"OK";elsecout<<"FAIL";后,如果文件打开成功,显示"OK",否则就显示"FAIL"。由此可知,上面if语句的...
在面向对象方法中,类之间共享属性和操作的机制称为【】。
设有下列二叉树: 对此二叉树前序遍历的结果为
随机试题
桃核承气汤的组成药物中,含有
房屋权属证书遗失的,权利人应当及时登报声明作废,并向登记机关申请补发,登记机关应当作出补发公告,经()个月无异议的方可予以补发房屋权属证书。
下列工作流程组织中,属于管理工作流程组织的有()。
除了局域网络和广域网络之外,还有一种叫“城域网”。城域网介于局域网和广域网之间,作用距离可达到几十甚至100千米左右,常用于组建银行、税务、公司或其他公共事业网络。()
()证券组合的投资者很少会购买分红的普通股。
某施工企业年初向银行贷款流动资金100万元,按季计算并支付利息,季度利率2%,则一年支付的利息总和为()万元。
摄入性会谈的工作程序包括()。
全语言教育
某研究人员发现,举重运动员的体重与他能举起的重量之间的相关系数为0.6,则()。
Everyonethinkstheskirt______youwell.
最新回复
(
0
)