求助一编程问题
/*对10个等长的字符串排序*/#include<stdio.h>
#include<string.h>
void pai(char (*)[6]);
int main()
{
char a[10][6],(*p)[6]=a;
int i;
printf("输入10个字符串\n");
for(i=0;i<10;i++)
gets(a[i]);
pai(p);
for(i=0;i<10;i++)
{
puts(a[i]);
putchar('\n');
}
}
void pai(char (*p)[6])
{
int i,j;
char a[6],*p1=a;
for(i=0;i<9;i++)
{for(j=0;j<9-i;j++)
{
if(strcmp(p+j,p+j+1)>0)
{
strcpy(p1,p+j);
strcpy(p+j,p+j+1);//运行到这,i和j个值被改变 ,出现段异常
strcpy(p+j+1,p1);
}
}
}
}
dev-c++ 运行 为什么i和j的值会被改变