#include <iostream>
using namespace std;
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 10, y = 20;
swap(x, y);
cout << x << " " << y << endl;
return 0;
}
A
代码无法通过编译,因为非const修饰的引用不能作为函数参数
B
程序运行后输出20 10,引用传参可以直接修改实参的值,实现两个变量的交换
C
如果将swap函数参数改为int* a, int* b,调用改为swap(&x, &y),程序运行结果和原代码完全一致,没有任何区别