编辑代码

#include <stdio.h>
int main () {
    void inv(int *x,int n);
    int i, a[10] = {3,7,9,11,0,6,7,5,4,2};
    printf("The original array:\n");
    for(i=0;i<10;i++)//输出数组
      printf("%3d",a[i]);
    printf("\n");
    inv(a,10);
    printf("The array has been inverted:\n");
    for(i=0;i<10;i++)
      printf("%3d",a[i]);
    printf("\n");
}

void inv(int *x,int n)//定义函数
{
    int *p, temp, *i, *j, m=(n-1)/2;//定义三个指针,一个暂时常量
    i=x; j=x+n-1; p=x+m;
    for(;i<=p;i++, j--)//交换顺序
    {temp=*i; *i=*j; *j=temp;}
    return;
}