问题
单项选择题
下面程序的运行结果为( )。 #include<iostream.h> void swap(int &a,int b) { int temp; temp=a++; a=b; b=temp; } void main() { int a=2,b=3; swap(a,b); cout<<a<<“,”<<b<<end1; }
A.2,3
B.3,2
C.2,2
D.3,3
答案
参考答案:D
解析: 本题考查的是引用调用,因为函数swap引用调用参数a,所以在swap函数中a的变化会改变主函数中 a的值,即a自加1,但b的值并未改变。