有如下程序: #inc1ude<iostream> using namespace std; void fun(int&x,inty){int t=x;x=y;y=t;} int main() { int a

admin2020-06-29  31

问题 有如下程序:
    #inc1ude<iostream>
    using namespace std;
    void fun(int&x,inty){int t=x;x=y;y=t;}
    int main()
    {
    int a[2]={1,2};
    fun(a[1],a[0]);
    std::cout<<a[0]<<","<<a[1]<<std::endl;
    return 0:
    }
    执行后的输出结果是(     )。

选项 A、2,2
B、1,1
C、1,2
D、2,1

答案B

解析 程序中的fun函数的功能是实现函数中两个参数的交换。主函数I中fun的调用中第一个参数为数组第二个值即2,第二个参数为第一个值即1。在fun的定义中第一个形参引用类型,其改变会改变主函数中实参的值;而第二个形参不是引用类型,其改变不会改变第二个实参,所以2,1的交换结果为1,1,即B。
转载请注明原文地址:https://jikaoti.com/ti/v7A0FFFM
0

最新回复(0)