有如下程序; #include<iostream> using namespace std; void hey(______________,int&b){ int c;c=a;a=b;b=c; } int main(){ int m=14,n=20; h

admin2017-07-28  27

问题 有如下程序;
#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(m,n);
cout<<m<<n;
return0;
}
运行后的输出结果是“1414”,则横线处的语句应为(    )。

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

答案C

解析 题意main()函数中,首先定义整型变量m为14,n为20,然后调用hey()函数,传入m、n,然后输出时,m的值14不变,n的值为14;再看hey()函数中,通过临时变量c,将传入的两个参数a、b的值进行交换;再者,参数b是引用变量,所以b的值修改,导致实参n的值也被修改,由main()函数中m的值不变,n的值变为14,可知hey()函数中形参a(对应实参m)应该是一个普通变量,而不是引用类型或指针类型,所以选项A、B错误,C正确;另外对于参数,必须给出参数的类型,所以选项D错误.故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/sUAp777K
0

最新回复(0)