首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
43
问题
有如下函数定义:
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全国计算机二级
相关试题推荐
关于类模板,下列表述中不正确的是()。
设有定义inta=1;floatf=1.2;charc=’a’;,则下列表示错误的是
下列关于运算符重载的叙述中,正确的是
下列叙述中正确的是
设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为
下列叙述中正确的是
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为上【】。a[0]=1;a[1]=2;swap(a,2);
磁盘文件操作中,打开磁盘文件的访问方式常量中,()是以追加方式打开文件的。
下列关于break语句的叙述不正确的是()。
随机试题
Mannersaredifferentineverycountry;buttruepolitenessiseverywherethesame.Mannersareonly【C1】________helpswhichigno
________.
抗结核化疗时可引起高尿酸血症的药物是
债券投资的风险因素有()。
设D=在D作用下的象,若满足方程x2一y2=1,求满足的方程。
某家禽饲养场养有鸡、鸭两种家禽,共30只。其中鸡比鸭多,母鸡比公鸡多,母鸭比母鸡多2只,至少有3a公鸭,那么,公鸡最多有()只。
甲欲搭乘乙公司的长途汽车,因为时间紧迫,甲没有买票即登上汽车,甲表示上车后补票,乘务员同意了甲的做法。后由于司机驾驶失误,发生车祸,甲因此受伤,此时甲还没有补票。则()。
关于刑事责任与刑罚的关系,下列表述错误的是()。
求差分方程yt+1+7yt=16满足y0=5的特解.
Itwasacoldday.Isatinmyroomwritingletters.Iglancedoutofthewindow.InthewindowdirectlyoppositemestoodHerr
最新回复
(
0
)