为什么如果if(strcmp(p[i],p[j])>0),就是正常从小到大输出的结果,但是如果是if(strcmp(p[i],p[j])<0),那么指针数组name[0]就会丢失,name[1]-name[4]没有丢失正常输出
#include <stdio.h>
#include <string.h>
int main()
{
void px(char *p[],int n);
char *name[]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"};
px(name,5);
int i;
for(i=0;i<5;i++)
printf("%s\n",name[i]);
return 0;
}
void px(char *p[],int n)
{
int i,j;
char *t;
for(i=0;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(strcmp(p[i],p[j])<0)
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
}
}
}