自己简直太菜了,今天看到一道用指针来实现字符串的排序,对指针的用法都快忘了!!!!!!
想呼呼自己两大巴掌
#include <stdio.h>
#define LINEMAX 20 /*定义字符串的最大长度*/
int n;
int main()
{
int i;
char **p,*pstr[100],str[100][LINEMAX];
scanf("%d",&n);
for (i=0;i<n;i++)
pstr[i]=str[i]; /*将第i个字符串的首地址赋予指针数组 pstr 的第i个元素*/
printf("input strings:
");
for (i=0;i<n;i++)
scanf("%s",pstr[i]);
p=pstr;
sort(p);
printf("strings sorted:
");
for (i=0;i<n;i++)
printf("%s
",pstr[i]);
}
void sort(char **p) /*对5个字符串排序函数*/
{
int i,j;
char *temp;
for (i=0;i<n;i++)
{
for (j=i+1;j<n;j++)
{
if (strcmp(*(p+i),*(p+j))>0) /*比较后交换字符串地址*/
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
return;
}