有如下程序; #include<iostream> using namespace std; void hey(__________,int&b) { int c;c=a;a=b;b=c; } int mai

admin2021-02-22  47

问题 有如下程序;
    #include<iostream>
    using namespace std;
    void hey(__________,int&b) {
    int c;c=a;a=b;b=c;
    }
    int main( ){
    int m=14,n=20;
    hey(n1,n);
    cout<<m<<n:
    return 0;
    }
    运行后的输出结果是“1414”,则横线处的语句应为(    )。

选项 A、int *a
B、int &a
C、int a
D、a

答案C

解析 题意hey()函数体中是将a和b的值进行交换,可知a是hey( )函数的第一个参数,main( )函数中,m初值为14,n初值为20,经过hey( )函数的调用,将m传给参数a,n传给参数b后,输出m的值14,n的值也是14,可知在hey( )函数中,交换a、b值的同时修改了实参n,而m未被修改,所以形参a只是实参m的一个拷贝变量,选项A、B错误;另外在定义形参a时,需要指定数据类型,所以选项D错误;本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/Ssfp777K
0

最新回复(0)