[求助]字符串排序为什么会出错
就是要将里面的5个字符串排序,不知道自己错在什么地方了.
#include <stdio.h>
#include <string.h>
#define MAX 5
void sort(char *[],int);
void main()
{
char *string[MAX]={"qingdao xx","tai wang qq","wqfdw jj","anarefafda","cccirjfda"};
int i;
sort(string,MAX);
}
void sort(char *p[],int x)
{
int i,j;
char *dummy;
if(strcmp(p[0],p[1])<0)
{
strcpy(dummy,p[0]);
strcpy(p[0],p[1]);
strcpy(p[1],dummy);
}
for(i=1;i<x;i++)
{
for(j=1;j<=x-1;j++)
{
if(strcmp(*(p+j+1),*(p+j))>0)
{
strcpy(dummy,*(p+j));
strcpy(*(p+j),*p);
strcpy(*p,dummy);
}
}
}
printf("\n按字母排列如下\n\n");
for(i=0;i<x;i++)
printf("%s\n",*(p+i));
}