更新时间2018-07-22 14:42:26
#include<stdio.h>
#include<string.h>
int main()
{
void sort(char *[]);
int i;
char str[10][6], *p[10]
;for(i=0;i<10;i++)
scanf("%s",str[i]);
for(i=0;i<10;i++)
p[i]=str[i];
sort(p);
printf("the output 10 string: ");
for(i=0;i<10;i++)
printf("%s,",p[i]);
}
void sort(char *s[])
{char *temp;
int i,j;
for(i=0;i<9;i++)
for(j=i;j<10;j++)
if(strcmp(*(s+i),*(s+j))>0)
{temp=*(s+i); //
*(s+i)=*(s+j);//
*(s+j)=temp;//
}
}
问题:再函数里利用指针temp交换了指针数组,但这个数组指针不是另外开辟的空间吗?他是怎么使得原指针数组发生了改变的。麻烦了。
C里面的字符串最后都是以数0(也就是 '