位运算符:|或,&与,~取反,^异或。
#include <iostream>
using namespace std;
typedef int *int_pointer;
void inplace_swap(int_pointer x,int_pointer y)
{
*y = *x ^ *y;
*x = *x ^ *y;
*y = *x ^ *y;
}
void reverse_array(int a[], int cnt)
{
int first,last;
for (first = 0,last = cnt - 1;first < last;++first,--last)
inplace_swap(&a[first],&a[last]);
}
int main()
{
int arr[] = {1,2,3,4,5,6};
int k = sizeof(arr)/sizeof(int);//sizeof(arr)值为24,即整个数组占内存大小
reverse_array(arr,k);
for (int i = 0;i < k;i++)
{
cout << arr[i];
}
cout << endl;
return 0;
}
运行结果:
654321