这个关于字符串排序程序应该怎么改???
如何把输入的几个字符串进行排序???#include "stdio.h"
#include "string.h"
#define M 20
#define N 50
main()
{void sort(char **v,int n);//该函数用于把比较每个字符串,然后按大小重新排序
char *str[N];
int i,m;
printf("你想输入几个字符串?:");
while(1)
{scanf("%d",&m);
if(m>M)printf("非法输入,请重新输入:");
else break;
}
printf("请输入这%d个字符串:\n",m);
for(i=0;i<m;i++)
scanf("%s",str[i]);
printf("重新排列这些字符串为:\n");
sort(str,m);//编译后,总是提示这里有问题
for(i=0;i<m;i++)
{printf("%s",str[i]);
printf("\n");
}
}
void sort(char **v,int n)
{
char *t;
int i,j;
for(i=0;i<n-2;i++)
{for(j=i+1;j<n-1;j++)
if(strcmp(v[i],v[j])>0)
{t=v[i];v[i]=v[j];v[j]=t;}//交换每个字符串的地址
}
}
该程序排序后还是和以前一样,请问该怎么改?