从键盘读入10个字符串,将这10个字符串进行由大到小的排序,并输出排序后的各字符。
#include <stdio.h> #include<string.h>
void sort(char *str[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(str[k],str[j])>0)
k=j;
if(k!=0)
{
temp=str[i];
str[i]=str[k];
str[k]=temp;
}
}
}
int main()
{
char *str_a[10];
gets(str_a);
sort(str_a,10);
puts(str_a);
return 0;
}
编译没有错误,但运行一直不行,感觉是主函数这边有问题,但指针一直没怎么弄懂,所以不知道具体是哪里错了,求指正。