有如下程序; #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

admin2021-02-22  5

问题 有如下程序;
#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<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/q1fp777K
0

最新回复(0)