用指针方法排序数组

若如初见. 提交于 2019-12-20 13:50:09
#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];

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!