</pre><p><pre name="code" class="cpp">#include <stdio.h>
#define MAX 10
int main()
{
int a[MAX];
int reverse(int*,int);
for(int i=0;i<MAX;i++)
a[i]=i+1;
reverse(a,MAX);//实参
for(int k=0;k<MAX;k++)
printf("%d ",*(a+k));
return 0;
}
int reverse(int*p,int n)//形参
{
int *i,*m,*j;
int temp,mid;
mid=(n-1)/2;
i=p;//左指针,初始为第一个元素地址
j=p+n-1;//右指针,初始为末尾元素地址
m=p+mid;//静态 哨兵
for(;i<=m;i++,j--)
{//交换内容
temp=*i;
*i=*j;
*j=temp;
}
return 0;
}