首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
2021-09-05
49
问题
有如下函数定义:
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/HZfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于C++流的描述中,错误的是()。
下列叙述中正确的是
运算符重载时不需要保持的性质是()。
有如下程序:#includeusingnamespacestd;classtest{private:ima;public:test(){cout
下列关于数据库设计的叙述中,正确的是()。
下列关于输入输出流的叙述中,正确的是()。
程序流程图中带有箭头的线段表示的是( )。
下列关于函数参数的叙述中,错误的是
下列符号中,正确的C++标识符是()。
若字符指针P所指向的字符串为ˊˊabcdefgˊˊ,在执行语句()。char*ap=newchar[strlen(p)+1];之后,ap指向的字符数组的元素个数为
随机试题
患者男,62岁。因头晕、乏力半年,症状加重1个月,间有低热、四肢酸痛来诊。查体:T38~C,重度贫血貌,下肢皮肤散在出血点,颈部可扪及2枚花生米大小肿大的淋巴结,脾肋下2cm。检测Ⅵ慢C2.3×109/L,Hb50g/L,PLT45×109/L;血片中有核
下列哪项疾病咳出的痰分层
下列哪一项不是土壤污染的来源
背景资料某机电安装工程项目开工之前,承包方向监理工程师提交了施工进度计划如下图所示,该计划满足合同工期100d的要求。在上述施工进度计划中,由于工作E和工作G共用一塔吊(塔吊原计划在开工第25d后进场投入使用),必须顺序施工,使用的先后顺
第一只期货投资基金于()在美国出现。
下列属于股权融资的是()。
以两国货币的铸币平价为汇率确定基础的是()。
以下不属于软件容错技术的是(33)。
函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。例如,当a=45,b=12。调用该函数后,c=5241。
______AbsichthabeichdireinefalscheAbfahrtszeitgenannt.
最新回复
(
0
)