首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
61
问题
有如下函数定义:
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/lkNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要定义数组a,使得其中每个元素的数据依次为3,9,4,8,0,0,0,错误的定义语句是()。
下列叙述中正确的是
下列叙述中正确的是
在关系运算中,【】运算是在给定关系的某些域上进行的运算。
下面程序错误的语句是①#include<iostream.h>②voidmain(0③{④int*p=newint[1];⑤p=9;⑥cout<<*p<<end1;
下面关于类和对象的描述中,错误的是
数据结构中,与所使用的计算机无关的是数据的
有如下类的定义。空格处的语句是classMyClass{______intx,y;public:MyClass(inta=0,intb=0){x=a;y=b;
在面向对象方法中,类之间共享属性和操作的机制称为【】。
下列有关内联函数的叙述中,正确的是
随机试题
患者症见脘腹痞满胀痛,下痢赤白,里急后重,舌苔黄腻,脉沉实。治宜选用()
非商事主体所实施的信息咨询属于()。
个人汽车贷款的贷款期限(含展期)不得超过()年。
音乐课上,教师先带领学生聆听歌曲,随后请学生跟随钢琴逐句演唱,进而在演唱的过程中发现问题,学生互相讨论解决问题,最后根据作品进行简单的创编活动。这主要体现了新课程理念中的()。
根据《义务教育法》的规定,我国义务教育学校的内部管理体制是()。
阿德勒认为人格发展的基本动力是
accumulatedfund
•Readthearticlebelowabouttheemployeeturnoverinacompany—employees’threedifferentkindsofwaysofmovingintheircom
A、Itispartoftheirlocalheritage.B、Itisanattractionoftourists.C、Itistherevivalofmorals.D、ItisthemiracleofG
A、War.B、Providingservices.C、Naturaldisasters.D、Providingblood.A
最新回复
(
0
)