#include<iostream> #include<iomanip> usingnamespace std; voidswap1(int x, int y) { int t; t = x; x = y; y = t;//此处并没有返回x,y的值给a,b。也就是x,y为一个临时值 } voidswap2(int &x, int &y)//与上面不同的是,此处使用了引用,也就是变量a引用x,变量b引用y { int t; t = x; x = y; y = t; } voidswap3(int* x, int* y) { int t; t = *x; *x = *y; *y = t; }//这是我格外想到一种方式,通过指针来对a,b进行交换,但是上方已经提到了该用法的弊端,在调用时反复使用“*指针名”获取数据,很容易出现错误 intmain() { int a, b; cin >> a >> b; swap1(a, b); cout << a << "," << b << endl; swap2(a, b); cout << a << "," << b << endl; swap3(&a, &b); cout << a << "," << b << endl; return0; } //在这个程序中,&和*都是与指针相关的操作符,但它们的作用是截然不同的。