问题
单项选择题
函数定义如下: void fun(int x,int& y){x++;y++;} 如果执行代码段: int a=0,b=1; fun(a,b); 则变量a和b的值分别是( )。
A.0和1
B.0和2
C.1和1
D.1和2
答案
参考答案:B
解析: 本题中定义了一个fun函数,当调用fun(a,b);函数时,形参x和y被初始化为实参a和b的引用,参数x为非引用类型,参数y为引用类型,在执行该函数时,对形参x的改变不会影响到实参,形参y的改变将会影响到实参,因此调用fun函数后,形参变量x=1,y=2,实参变量a=0,b=2。