还是上次类似的问题,求解答。
对字符串进行排序的问题,被指针搞糊涂了。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
void sort(char p[][5]);
char ss[10][5]={"worin","trafi","panda","dalai","lama2","strin","tende","racof","lenth","recte"};
sort(ss);
printf("test");
}
void sort(char p[][5])
{
int i,j,k;
int n=10;
char temp[20];
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(p[k],p[j])>0)
k=j;
if(k!=i)
{
strcpy(temp,p[k]); //本意是想复制第k个字符串,但此处将多个字符串进行复制
strcpy(p[k],p[i]); //程序运行到此出错,又是内存访问非法,头痛
strcpy(p[i],temp);
}
}
}