运行错误:关于二级指针对字符串排序的问题,求指点。
//用指向指针的方法对5个字符串排序并输出;#include"stdio.h"
#include"string.h"
void main()
{
void sort(char **p);
char *str[]={"China","England","France","Japan","America"};//定义指针数组并初始化;
int i;
sort(str);
for(i=0;i<5;i++)
printf("%s\n",str[i]);
}
void sort(char **p)
{
char *temp;
int i,j;
for(i=1;i<5;i++)
for(j=0;j<5-i;j++)
if(strcmp(*(p+j),*(p+j+1))>0);//选择法排序
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
运行后并没有进行排序,还是原来的顺序,函数应该没有什么问题。
问题到底出在哪里?求指点。