各位大神帮忙看看,这个把五个字符串的排序部分出在哪?
#include<stdio.h>#include<string.h>
int main()
{
char str[100];
scanf("%[^\n]",str);
char *q=NULL;
char *p[5]={NULL};
int i=0,j=0;
p[0]=strtok(str," ");
while(p[i]!=NULL)
{
i++;
p[i]=strtok(NULL," ");
}
for(i=0;i<4;i++)
{
for(j=i+1;j<5;j++)
{
if(strcmp(p[i],p[j])>0)
{
strcpy(q,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],q);
}
}
}
for(i=0;i<5;i++{
printf("%s ",p[i]);
}
printf("\n");
return 0;
}
貌似就排序哪出错了,导致程序崩溃,我一直没找到那个地方拿错了,求大神指点。