我就是把主函数换了个形式,怎么输出的结果就有问题了
原来的:#include<stdio.h>
#include<string.h>
int sort(char *p[],int n)
{int i,j,k;
char *temp;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(strcmp(p[k],p[j])>0)
k=j;
if(k!=i)
{temp=p[i];
p[i]=p[k];
p[k]=temp;
}
}
}
int main()
{int i;
char *name[3]={"slope","trace","great"};
sort(name,3);
for(i=0;i<3;i++)
printf("%s\t",name[i]);
printf("\n");
return 0;
}
现在的:
#include<stdio.h>
#include<string.h>
int sort(char *p[],int n)
{int i,j,k;
char *temp;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(strcmp(p[k],p[j])>0)
k=j;
if(k!=i)
{temp=p[i];
p[i]=p[k];
p[k]=temp;
}
}
}
int main()
{int i;
char name[3][5];
char *p[3];
for(i=0;i<3;i++)
p[i]=name[i];
for(i=0;i<3;i++)
gets(name[i]);
sort(p,3);
for(i=0;i<3;i++)
printf("%s\t",p[i]);
printf("\n");
return 0;
}
输出的字符串没有规律,而且great的t怎么都成一个脸型了?