void sort(char *p,int n);
char *a[]={"hellonihao","wo shi li","today iwan","t to say a","we student"吵猜,"hao de la"};
sort(a,6); //你传的是指针数组,而函数sort需要的是一个散拆指针。函数升掘型改为 void sort(char **p,int n);
//编译器提示的错误没发现,不错你传参肯定错了。
第一你的sort函数最散哪肆后面掉了}
第二你主函数中,char *a[]定义的是一个名字为a的数组,该数组中的每个元素是指针(请注意char *a[]和 char (*a)[]的区别),在调用sort时候 a由long int 转换成char *,这是一个无效缓没的转冲轿换.
你函数是用来干嘛的?
while(i<拆薯6)
{
printf("%c\t",*p+i);
}
} //缺了一个 加袭御物拍液进去试试
扩号匹配有问题吧?