在我这段程序不变的情况下,请问怎么修改,让程序正常运行。
#include
char **function(char (*)[20]);
int function1(char (*)[20]);
int main()
{
char a[5][20];
char p[1];
int i;
for(i=0;i<5;i++)
{
gets((a+i));
fflush(stdin);
}
printf("\n\n");
for(i=0;i<5;i++)
{
puts(*(a+i));
}
p=function(a);
printf("xx");
for(i=0;i<5;i++)
{
puts((p+i));
}
}
char **function(char (*a)[20])
{
int i,j,k,q=0,i1,j2,k2;
char *p[5],cha;
for(i=0;i<4;i++)
{
for(j=i+1,k=i;j<5;j++)
{
if(function1(a+k)<function1(a+j))
k=j;
}
if(k!=i)
for(i1=0;i1<20;i1++)
{
cha=*(*(a+k)+i1);
*(*(a+k)+i1)=*(*(a+i)+i1);
*(*(a+i)+i1)=cha;
}
*(p+q++)=*(a+i);
}
return p;
}
int function1(char (*a)[20])
{
int k=0;
while(*(*a+k++));
return k;
}