用指针对10个整数按由大到小顺序排序
请大家帮我看看哪里错了
运行结果如下

#include<stdio.h>
int main()
{
void sort(int *x,int n);
int *p;
int a[10]={1,2,3,4,5,6,7,8,9,10};
sort(a,10);
p=a;
for(;p<(a+10);p++)
{
printf("%d\t",*p);
}
return 0;
}
void sort(int *x,int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=1;j<n;j++)
{
if(*(x+i)<*(x+j))
temp=*(x+i);
*(x+i)=*(x+j);
*(x+j)=temp;
}
}
}