一个错误的程序,怎么调试
void select(int a[],int low,int heigh)
{
int i,j,v,h;
for(h=1;h<=(heigh-low)/9;h=3*h+1)
for(;h>0;h=h/3)
for(i=h+low;i<=heigh;i++)
{
j=i; v=a[i];
while(j>=heigh+low&&v<a[j-h])
{
a[j]=a[j-h];
j=j-h;}
a[j]=v;
}}
void main()
{
int i, a[5]={5,4,3,2,1};
select(a,0,4);
for(i=0;i<5;i++)
printf("%d",a[i]);
}///希望他从小到大 排序,但是就是出不来结果,还是 5 4 3 2 1,那位帮忙看看