找错误 用指向指针的指针的方法对5个字符串排序并输出
用指向指针的指针的方法对5个字符串排序并输出
#include<stdio.h>
#include<string.h>
main()
{void sort(char**p,int n);
int i;
char *a[5];
printf("please input 5 strings\n");
for(i=0;i<5;i++)
scanf("%s",a[i]);
sort(a,5);
for(i=0;i<5;i++)
printf("%s\n",a[i]);
getch();
}
void sort(char**p,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(*(p+k),*(p+j))>0)
k=j;
if(k!=i)
{temp=*(p+i);
*(p+i)=*(p+k);
*(p+k)=temp;
}
}
下面是我做的.编译没问题..但我输f 回车e回车d回车c回车b回车a回车
结果是aabcd为什么