#include "iostream"
using namespace std;
int main()
{
void swap(int *x,int *y);
int a=3,b=4;
cout<<a<<" "<<b<<endl;
swap(&a,&b);
cout<<a<<" "<<b<<endl;
return 0;
}
void swap(int *x,int *y)
{
*x=*x^*y;
*y=*y^*x;
*x=*x^*y;
}
本例解释:
1、因为函数只能返回一个值,不能返回两个值,为了能得到交换了的a和b ,只能用指针或引用。
2、用C语言的位运算符做交换函数,不需要引入一个新的变量,通过这几步运算就可以得到交换了的值。 |