二维指针 字符串快速排序 快排参数有有关问题 可以自己写快排函数

二维指针 字符串快速排序 快排参数有问题 可以自己写快排函数#includestdio.h#includestdlib.h#includ

二维指针 字符串快速排序 快排参数有问题 可以自己写快排函数
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>

#define BUFFER 1024
#define EXIT   "exit\n"  //define an exit code


int pstrcmp( const void *a, const void *b ) {
return strcmp( ((const char*)a), ((const char*)b) );
}

int main(void){

    char **resstr=NULL;
    char buf[BUFFER];
    unsigned int  count=0;
    
    unsigned int i=0;
memset(buf,'\0',BUFFER);

        printf("input some string:\n\n");
    for(i=0;;i++){
if(fgets((char*)buf,BUFFER,stdin)!=NULL){
           count++;
}
        else{
   printf("fgets error\n");
   break;
}

if(strcmp(buf,(unsigned char*)EXIT)==0){
count--;

//printf("\ns:%d\n",count); //debug value of count
break;
}

        resstr=(char**)realloc(resstr,count*sizeof(char*));
        *(resstr+i)=(char*)calloc(strlen(buf)+1,sizeof(char));
    strcpy(*(resstr+i),buf);
    memset(buf,'\0',BUFFER);
}

    qsort(resstr,count,sizeof(char*),pstrcmp);//快排算法存在问题,需修改
putchar(0x0a);
// leaving a blank line to separate source string and string after sorted.
    for(i=0;i<count;i++){
    printf("%s",*(resstr+i));
}//printf each line end with \n

return 0;
}
快速排序 指针 Buffer
[解决办法]
第一个参数是待排元素数组的首地址.
你用了一个二维指针做啥?
这个字符串,应该是一个指针数组才是.
个人感觉.