请高手指点一二
下面的程序没有语法错误,但是执行的结果却不对,请高手指点一二,谢谢了!#include"stdio.h"
#define N 25
void main()
{
char s[10][N];
int i;
void collate(char (*p)[N]);
printf("plese input ten strings:\n");
for(i=0;i<10;i++)
gets(s[i]);
collate(s);
printf("the ten collated strings are:\n");
for(i=0;i<10;i++)
printf("%s\n",s[i]);
}
void collate(char (*p)[N])
{
char t[N];
int i,j,k,y;
int compare(char m[],char n[]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
y=compare(*(p+i),*(p+j));
if(y==1)
{
for(k=0;*(*(p+i)+k)!='\0';k++)
t[k]=*(*(p+i)+k);
t[k]=*(*(p+i)+k);
for(k=0;*(*(p+j)+k)!='\0';k++)
*(*(p+i)+k)=*(*(p+j)+k);
*(*(p+i)+k)=*(*(p+j)+k);
for(k=0;t[k]!='\0';k++)
*(*(p+j)+k)=t[k];
*(*(p+j)+k)=t[k];
}
}
}
int compare(char m[],char n[])
{
int z=0,i;
for(i=0;m[i]!='\0';i++)
if(m[i]>n[i])
break;
if(m[i]!='\0')
z=1;
return z;
}
说明:这个程序是要将10个字符串排序
如有程序被那位高手弄好了,请吧正确的程序发到我的邮箱:1015838747@
小虾我感激不尽