我怎么没有结果输出,是哪里错了
#include<stdio.h>
#include<string.h>
main(){
char *a[5],*temp;
char **p=a;
int i,j;
for(i=0;i<5;i++)
{ scanf("%s",&*(p+i));
}
for(i=0;i<5;i++)
{ for(j=i+1;j<5;j++)
{ if(strcmp(*(p+i),*(p+j))>0)
{ strcpy(temp,*(p+i));
strcpy(*(p+i),*(p+j));
strcpy(*(p+j),temp);
}
}
}
for(i=0;i<5;i++)
{
printf("%s",*(p+i));
}
printf(" ");
return 0;
}
你对指针的理解有问题
你的是野指针,正确的改
其它的可不变
热门标签: