题目
已知函数swap的定义为:void swap(int& a, int& b) { int t = a; a = b; b = t;}要交换变量x和y的值下列调用方[1]式正确的是:A. swap(xy);B. swap(x,y);C. swap(&x, &y);D. swap(x[ ], y[ ]);
已知函数swap的定义为:
void swap(int& a, int& b) {
int t = a;
a = b;
b = t;
}
要交换变量x和y的值下列调用方[1]式正确的是:
A. swap(xy);
B. swap(x,y);
C. swap(&x, &y);
D. swap(x[ ], y[ ]);
题目解答
答案
给定的 swap 函数是用来交换两个整数变量的值的,参数是两个整型引用。因此,正确的调用方式应该传递两个整型变量的引用作为参数。
选项 A 中的 xy 不符合正确的变量引用方式,应该是两个变量的引用。
选项 B 中的 x, y 正确地传递了两个整型变量的引用。
选项 C 中的 &x, &y 也是正确的,传递了变量 x 和 y 的地址。
选项 D 中的 x[], y[] 则不是正确的变量引用方式,应该是变量名,而不是数组。
因此,正确的调用方式是选项 B 和 C。
解析
步骤 1:理解函数swap的定义
函数swap的定义为void swap(int& a, int& b),它接受两个整型引用作为参数,通过一个临时变量t来交换这两个引用所指向的值。
步骤 2:分析选项A
选项A中的swap(xy)是错误的,因为xy不是有效的变量引用方式,应该使用逗号分隔两个变量。
步骤 3:分析选项B
选项B中的swap(x,y)是正确的,因为x和y是两个整型变量,它们的引用被传递给函数swap,从而实现交换它们的值。
步骤 4:分析选项C
选项C中的swap(&x, &y)也是正确的,因为&x和&y分别表示变量x和y的地址,传递给函数swap,函数内部通过引用交换它们的值。
步骤 5:分析选项D
选项D中的swap(x[], y[])是错误的,因为x[]和y[]不是有效的变量引用方式,应该使用变量名,而不是数组。
函数swap的定义为void swap(int& a, int& b),它接受两个整型引用作为参数,通过一个临时变量t来交换这两个引用所指向的值。
步骤 2:分析选项A
选项A中的swap(xy)是错误的,因为xy不是有效的变量引用方式,应该使用逗号分隔两个变量。
步骤 3:分析选项B
选项B中的swap(x,y)是正确的,因为x和y是两个整型变量,它们的引用被传递给函数swap,从而实现交换它们的值。
步骤 4:分析选项C
选项C中的swap(&x, &y)也是正确的,因为&x和&y分别表示变量x和y的地址,传递给函数swap,函数内部通过引用交换它们的值。
步骤 5:分析选项D
选项D中的swap(x[], y[])是错误的,因为x[]和y[]不是有效的变量引用方式,应该使用变量名,而不是数组。