求解……(指针与字符串问题的续)
终于自己搞定了,能够对输入的字符串进行排序了……不过还是有些问题不太明白……所以请问一下大家……我慢慢说啊……
首先,我经过测试能运行的程序如下:
#include<stdio.h>
#include<string.h>
void main()
{
char name[5][10];
char *p[5];
char *temp;
int i,j;
for(i=0;i<5;i++)
gets(name[i]);
for(i=0;i<5;i++)
p[i]=name+i;
for(j=0;j<4;j++)
for(i=0;i<4-j;i++)
{
if(strcmp(p[i],p[i+1])<0)
{
temp=p[i];
p[i]=p[i+1];
p[i+1]=temp;
}
}
for(i=0;i<5;i++)
printf("%s\n",p[i]);
}
而我以前的程序如下:
#include<stdio.h>
#include<string.h>
void main()
{ char *s[10];
char **p;
char *t;
int i,j;
printf("input 10 strings\n");
for(i=0;i<10;i++)
gets(s[i]);
p=s;
for(j=0;j<10;j++)
for(i=0;i<9-j;i++)
{ if(strcmp(s[i],s[i+1])<0)
{ t=s[i];
s[i]=s[i+1];
s[i+1]=t;
}
}
for(i=0;i<10;i++)
{ printf("%s\n",**p);
p++;
}
}
我在楼下继续说……