有如下程序; #include using namespace std; void hey(________,int&b){ int c;c=a;a=b;b=c; } int main(){ int

admin2021-09-05  22

问题 有如下程序;
    #include
    using namespace std;
    void hey(________,int&b){
    int c;c=a;a=b;b=c;
    }
    int main(){
    int m=14,n=20;
    hey(m,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/qz5p777K
0

最新回复(0)