国际空间研究组织 | ISRO CS 2017 – 5 月 |问题 52
考虑以下 C函数
void swap ( int x, int y )
{
int tmp;
tmp = x;
x= y;
y = tmp;
}
为了交换两个变量 a 和 b 的值:
(A)调用交换 (a, b)
(B)调用交换 (&a, &b)
(C) swap(a, b) 不能使用,因为它不返回任何值
(D) swap(a, b) 不能作为传值的参数答案: (D)
解释:因为参数是按值传递的,所以代码不起作用。为了交换 x 和 y 的值,应通过引用传递参数。正确的代码是:
void swap ( int &x, int &y )
{
int tmp;
tmp = x;
x= y;
y = tmp;
}
这个问题的测验