有如下程序: #include <iostream> void fun(int& x, int y){int t=x;x=y;y=t;} int main () { int a[2]={23,42}; fun(a

admin2010-06-06  36

问题 有如下程序:    #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]的值没有改变。
转载请注明原文地址:https://kaotiyun.com/show/8ajp777K
0

最新回复(0)