为什么这个函数不能正确的按照首字母ascii码大小排序?

NUMBER=5,SIZE=80,5组字符串由自己输入,感觉自己用笔能跑通,用了vs2019不行啊
img

供参考:

void print_ascii(int number,char st[][SIZE])
{
     int  i,j;
     char asc[NUMBER];
     char *temp,tmp;
     char *pt[SIZE];
     for(i=0;i<number;i++){
         pt[i]  = st[i];
         asc[i] = st[i][0];
     }
     for(j=0;j<number-1;j++)
         for(i=0;i<number-1-j;i++)
              if(asc[i] > asc[i+1]){
                 tmp = asc[i];asc[i] = asc[i+1];asc[i+1]= tmp;
                 temp= pt[i]; pt[i]  = pt[i+1]; pt[i+1] = temp;
             }
     puts("输出ascii排列的数组:");
     for(i=0;i<number;i++)
          fputs(pt[i],stdout);
}

for(i=0;<number-j-1;i++)

pt[i] = st[i];应改为:strcpy(pt[i],st[i]);
char *temp; 错误,应为:char temp[SIZE];