首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数定义: 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
60
问题
有如下函数定义:
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://www.kaotiyun.com/show/lkNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列声明语句中没有起到定义作用的是()。
在软件生存周期中,不属于软件定义阶段的是()。
下列程序的输出结果是【】。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*s,char&c){c=s[strlen
用树形结构表示实体之间联系的模型是
一些重要的程序语言(如c语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是
下面有关重载函数的说法中正确的是
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是#include<iostream.h>voidmain(){
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy)
下列选项中不属于结构化程序设计方法的是
随机试题
A、autumnB、difficultyC、fluteD、supposeB
日本人A与常年在中国作业务代表的美国人保罗在云南世博会旅游时相识,二人于1999年5月1日在美国举行了婚礼,婚后A随保罗在北京定居并申请放弃日本国籍,于2000年5月20日获得批准。之后,其向中国有关部门申请加入中国国籍。2000年5月20日后,A的民事行
下列属于负债类账户的是()。
我国现行预算法关于政府举借债务的规定是,“除法律和国务院另有规定外,()”。
财政收支状况对货币供应量有重要影响,如果财政收支平衡。货币供应量()。
用二维表数据来表示实体及实体之间联系的数据模型为______。
TherobotpresentedtothepubliconFridayinTokyo,JapanWhatdoesRonArkinthinkofWL-16?
Allthesesinfulactsmustbecrackeddownonbyallcountriesandsocieties.
MakingandWritingWordsI.AbriefintroductionA.Makingwordsisconceptuallyanengagingandeffectiveinstructionaltask.B
A、Julyistoofaraway.B、Theofferdoesn’tapplytoJuly.C、TheyhaveafullscheduleinJuly.D、Theydesperatelyneedaholida
最新回复
(
0
)