首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
39
问题
有如下函数定义:
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全国计算机二级
相关试题推荐
在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
诊断和改正程序中错误的工作通常称为【 】。
派生类中的成员不能直接访问基类中的【 】成员。
己知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是
已知:doubleA(doubleA){return++a;}和intA(intA){return++a;}是一个函数模板的两个实例,则该函数模板定义为【】
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为上【】。a[0]=1;a[1]=2;swap(a,2);
有如下程序:#include<iostream>usingnamespacestd;classAA{public:virtualvoidf(){
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是structnode{chardata;structnode*next;}
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy)
在面向对象方法中,类之间共享属性和操作的机制称为【】。
随机试题
什么叫红硬性?常用的硬度试验方法有哪几种?
下列正电子核素显像剂中,属于乏氧代谢显像剂的是
通常一个行政行为如果触犯了(),就不再追究其();而一个自由裁量行为,即使没有违反(),也可能引起()。
()是商品流通中最常见、最基本、最典型的合同。
下列关于资产负债表债务法的表述中,正确的有()。
不限制进食的健康初孕妇女体重增长的平均值为()。
周某去甲医院看病,因为医疗器械缺陷而遭受损害,该医疗器械系乙公司生产。对于周某的损害,周某()。
简述我国村民委员会的任务。
【B1】【B2】
Iraqitelevisionshowedscenesof______.
最新回复
(
0
)