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; }