问题
单项选择题
有如下程序:
#include <iostream>
void fun(int& x, int y)int t=x;x=y;y=t;
int main ()
int a[2]=23,42;
fun(a[1],a[0]);
std::cout<<a[0]<<","<<a[1]<<std::endl;
return 0;
执行后的输出结果是
A) 42,42
B) 23,23
C) 23,42
D) 42,23
答案
参考答案:B
解析: 本题考核函数的调用以及参数值的传递。函数fun中的第一个参数采用引用传值方式,函数中对形参值的改变同样作用于实参上;第二个参数采用按值传值方式,函数中对形参的操作不会影响到实参。所以main函数中调用fun函数后,a[1]的值被修改为a[0]的值,而a[0]的值没有改变。