#include<stdio.h>
#include<string.h>
int main()
{
char str[100][100];
int i,j,n;
char *temp=str[0];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",str[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(str[j],str[i])<0)
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
}
for(i=0;i<n;i++)
{
printf("%s ",str[i]);
}
return 0;
}
因为temp指针初始化指向了str[0],所以str[0]被当作字符串交换时的容器了,既然temp是作str[][100]的交换容器,可以把temp初始化改成char temp[100];