首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
28
问题
有如下函数定义:
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://jikaoti.com/ti/S7h0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是()。
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assVAC{public;intf()const{return3;}intf(){return
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。
有如下程序:#include<iostream>usingnamespacestd;classBase{private:voidfun1()const{cout<<’’fun1’’;}
数据字典(DD)所定义的对象都包含于()。
下列各组类型声明符中,含义相同的一组是()。
面向对象方法中,继承是指()。
数据库管理系统的基本功能不包括
C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
随机试题
比较常用的网络资源共享不包括()
AShelterfortheHomelessLastsummerIwasavolunteer(志愿者)atashelterforthehomeless,aplaceforhomelesspeopleto
对于()术语,装船通知具有特别意义。
英国各城市普遍实行的市政体制是()。
直线l过点P(0,2),且被圆x2+y2=4截得的弦长为2,则直线l的斜率是()。
为了摆脱困境,清政府于1901年4月成立督办政务处,宣布实行“新政”。清政府实行“新政”的目的是()。
Eveniffamiliesdon’tsitdowntoeattogetherasfrequentlyasbefore,millionsofBritonswillnonethelesshavegotasharet
下列是一台第三层交换机的部分路由表,其中管理距离为缺省值,正确的路由信息是()。
有如下程序:#include#defineD(x)4*x+1main(){inti=2,j=4;printf("%d\n",D(i+j));}程序运行后的输出结果是(
【B1】【B3】
最新回复
(
0
)