C语言题目,麻烦大神解答一下,怎样子错
使用二级指针和指针数组,比较字符串长度,如果最长的字符串不在第一位,把它换到第一位输出。(求长度用自定义函数实现)#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
void sort(char *name[],int n);//对sort函数声明,*name[]为指针数组
char *name[]={"follow","great","wall"};
int n=3,i;
clrscr();
sort(name,n);//调用sort函数
for(i=0;i<n;i++)
printf("%s\n",name[i]);
return 0;
}
void sort(char *name[],int n)//定义sort函数
{
char **p;//定义二级指针
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(strlen(*(name+i))<strlen(*(name+i+1)))//判断字符串的长度从而判断大小
{
**p=*name[i];
*name[i]=*name[i+1];
*name[i+1]=**p;
}
}