C++数组反转代码
#include <stdio.h>
inline void xchg(int *a,int *b)
{
(*a)^=(*b);//^=(*a)^=(*b);
(*b)^=(*a);
(*a)^=(*b);
}
void reverse(int a[],int n)
{
static int c = 0;
if(c<n/2)
{
xchg(&a[c],&a[n-c-1]);
++c;
reverse(a,n);
}
}
void show(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%*s%d",i,"",a[i]);
}
}
int main()
{
int a[]={1,2,4,5,3,6};
reverse(a,6);
show(a,6);
return 0;
}
