C语言指向指针的指针

#include<stdio.h>
#include<string.h>
#define MAX 10
void sort(char **p);
int main()
{
    char **p,*pstr[5],str[5][MAX];
    int i=0;
    for(i=0;i<5;i++){
        pstr[i]=str[i];
    }
    printf("string sorted: \n");
    for(i=0;i<5;i++){
        scanf("%s",pstr[i]);
    }
    p=pstr;
    sort(p);
    for(i=0;i<5;i++){
        printf("%s\n",pstr[i]);
    }
    return 0;
}
void sort(char **p)
{
    char  *temp;
    int i=0,j=0;
    for(i=0;i<5;i++){
        for(j=i+1;j<5;j++){
            if(strcmp(*(p+i),*(p+j))>0)
            {
                temp=*(p+i);
                *(p+i)=*(p+j);
                *(p+j)=temp;
            }
        }
    }
}



要问什么