#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void sort(char *pc,int m);
int main(void)
{
int i=0;
int n;
int x;
char *pcolor;
printf("输入n个字符串:\n");
scanf("%d",&n);
if((pcolor=(char *)malloc(n*sizeof(char)))==NULL)
{
printf("不能分配内存!\n");
exit(1);
}
for(i=0;i<n;i++)
{
scanf("%s",pcolor+i);
}
sort(pcolor,n);
for(i=0;i<n;i++)
{
printf("%s\n",pcolor+i);
}
free(pcolor);
return 0;
}
void sort(char *pc,int m)
{
int j=0,k=0;
char *temp;
for(j=1;j<m;j++)
{
for(k=0;k<m-j;k++)
{
if(strcmp(pc+k,pc+k+1)>0)
{
temp=pc+k;
pc=pc+1;
pc=temp-k-1;
}
}
}
}
结果是这样的,不知道错在哪了,求指点