- #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;
- }
- //该片段来自于http://www.codesnippet.cn/detail/220920136046.html
来源: http://www.codesnippet.cn/detail/220920136046.html