用指针方法排序数组

#include <stdio.h>
#include <stdlib.h>
//将一维数组中10个数按大到小的顺序排列输出
int main()
{
    void sort(int x[],int n);
    //void sort(int *x,int n)
    int i,x[10];
    int *p;
    p=x;
    for(i=0;i<10;i++)
        scanf("%d",p++);
    p=x;
    sort(p,10);
    p=x;
    for(i=0;i<10;i++)
        printf("%d ",*(p++));
        return 0;
}
void sort(int x[],int n)
//void sort(int *x,int n)
{
    int i,j,t;
    for(i=0;i<n;i++)
    {
        for(j=i;j<n;j++)
        {
//if(*(x+j)>*(x+i))
            {
                t=x[j],x[j]=x[i],x[i]=t;
                //t=*(x+j),*(x+j)=*(x+i),*(x+i)=t;
            }
        }
    }
}

*(x+j)就是x[j];

原文地址:https://www.cnblogs.com/webmen/p/5739687.html