利用指针数组进行排序?

将数组中的最小值放置于首位,数组中的最大值放置于末位
就为什么编译以下代码的时候,到输出该数组的值得时候,就崩溃了,这是什么原因?
求指导,谢谢
图片说明
图片说明

http://blog.csdn.net/zss1753936255/article/details/52904595
参考代码


发帖参考。。不然代码不全

include

include

include

int main()
{
void input(int *q[10],int a[10]);
void sort(int *[]);
int *q[10],a[10],i;
input(q,a);
sort(q);
for(i=0;i printf("%d\n",*q[i]);
return 0;
}
void input(int *q[10],int a[10])
{
int i;
for(i=0;i {
scanf("%d",&a[i]);
q[i]=&a[i];
}
}
void sort(int *q[])
{
int min=*q[0],max=*q[9],a,b,*temp,i;
for(i=0;i {
if(min>*q[i])
{
min=*q[i];
a=i;
}
if(max<*q[i])
{
max=*q[i];
b=i;
}
}
temp=q[0];
q[0]=q[a];
q[a]=temp;
temp=q[9];
q[9]=q[b];
q[b]=temp;
}