1.*Arry[]
需掌握排序、指针做函数参数排序、内存模型示意图
构造所需函数并进行打印
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void printarry(char** s,int *len)
{
int i=0,count=0;
count=*len;
for(i=0;i<count;i++)
{
printf("%s\n",*(s+i));
}
}
void main()
{
char *Arry[]={"1","12","123","1234","12345"};
int count=0;
char s[5];
int i=0,j=0;
count =(sizeof(Arry))/(sizeof(Arry[0]));
printarry(Arry,&count);
system("pause");
}
进行排序打印
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void printarry(char** s,int *len)
{
int i=0,count=0;
count=*len;
for(i=0;i<count;i++)
{
printf("%s\n",*(s+i));
//printf("%s\n",s[i]);
}
}
void sort1501(char **ss,int count)
{
int i=0,j=0;
char *m=NULL;
for(i=0;i<count;i++)
{
for(j=i;j<count;j++)
{
if( strlen(ss[i]) > strlen(ss[j]) )
{
//改变指针指向
m = ss[i];
ss[i] = ss[j];
ss[j] = m;
}
}
}
}
void main()
{
char *Arry[]={"1","12","123","1234","12345","we"};
int count=0;
char s[5];
count =(sizeof(Arry))/(sizeof(Arry[0]));
//排序前
printarry(Arry,&count);
//排序
sort1501(Arry,count);
//排序后
printarry(Arry,&count);
system("pause");
}