选择题
有如下程序;
#include<lostream>
using namespace std;
void fun(int&a, ______) {int c; c=a; a=b; b=c; }
int main(){
int x=14, y=20;
fun(x, y);
cout<<x<<y;
return 0;
}
运行后的输出结果是“2020”,则横线处的语句应为______。
A、
b
B、
int b
C、
int*b
D、
im&b
【正确答案】
B
【答案解析】
C++中,函数的参数必须指定类型,选项A错误;C++中,函数的参数默认是按值传递的,观察程序可知,在函数fun中,由于fun函数的第一个参数为引用类型,所以x值被改变为y的值,由于程序输出x、y的值均为20,所以y的值并没有在调用fun的过程中被改变,所以fun函数的第二个形参类型不能为引用类型,选项D错误;由于fun函数中,形参a、b与整型变量c之间可以相互赋值,所以b不可能为指针类型,选项C错误;对于选项B,由于函数参数按值传递,所以形参b的改变,不会影响实参y的值,选项B正确。
提交答案
关闭