有如下程序: #include<iostream> using namespace std; void f1(inta x,int&y){int z=x;x=y;y=z;} void f2(int x,int y){int

admin2020-04-07  19

问题 有如下程序:
    #include<iostream>
    using namespace std;
    void f1(inta x,int&y){int z=x;x=y;y=z;}
    void f2(int x,int y){int z=x;x=y;y=z;}
    int main()  {
    int x=10,y=26;
    f1(x,y);
    f2(x,y);
    cout<<y<<end1;
    return 0;
    }
    运行时的输出结果是(    )。

选项 A、10
B、16
C、26
D、36

答案A

解析 子函数f1中的形参是引用变量,所以执行子函数实现了变量x,y值的交换,变量x的值等于26,而变量y的值等于10。而子函数f2中的形参是普通变量,因为C++的函数之间的参数传递是传值,所以执行函数f2不能实现变量x,y值的交换。
转载请注明原文地址:https://kaotiyun.com/show/Lk8p777K
0

最新回复(0)