运用指针数组进行短字符串排序,但是就是无法实现!
//字符串比较选择排序为何没有实现#include<stdio.h>
#include<string.h>
int main()
{
void print(char (*x)[10]);
void convert(char *p[10]);
int i;
char x[10][10];
char *p[10];
for(i=0;i<10;i++)
p[i]=&x[i][0];
for(i=0;i<10;i++)
gets(p[i]);
puts("The data is:");
print(x);
convert(p);
puts("The right folling is of the array is:");
print(x);
return 0;
}
void print(char (*p)[10])
{
int i;
for(i=0;i<10;i++)
{
puts(*(p+i));
}
putchar('\n');
}
void convert(char *p[10])
{
int i,j,k;
char *q;
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++) //注意:此处j=i+1而非j=1
{
if(strcmp(p[j],p[k])<0)
k=j;
}
if(k!=i)
{
q=p[i];
p[i]=p[k];
p[k]=q;
}
}
}
//sO 可以正常输出字符串 就是没法排序,不晓得问题出在了什么地方!!!~~~~(>_<)~~~~