请高手看下 这个程序是排列字符串的功能 能解释一下 程序中的问题么
#include<stdio.h>#include<string.h>
int main()
{ char str[5][6];
char (*p)[6];
void array(char(*p)[6]);
int i;
p=str;
printf("input array:\n");
for(i=0;i<5;i++)
{
scanf("%s",*(p+i));
}
array(p);
printf("now the array:");
for(i=0;i<5;i++,p++)
{
printf("%s\n",*p);
}
return 0;
}
void array(char (*p)[6])
{ int i,j;
char temp[6],*t=temp;
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
{ if(strcmp(p[j],p[j+1])>0) //这里的地址能进行比较么
{ strcpy(t,p[j]); //这里的t 和p[j]不是地址么
strcpy(p[j],p[j+1]);
strcpy(p[j+1],t);
}
}
}