#include<stdio.h>
#include<string.h>
void maxSub(char*s1,char*s2,char*s3)
{
int max=0;
int i1,i2;
int len=strlen(s2);
char*p1=s2+len,*p2=s2;
for(i1=len;i1>0;i1--)
{
*p1='\0';
p1--;
for(i2=0;i2<i1;i2++)
{
while(strstr(s1,p2)&&i1-i2>max)
{
max=i1-i2;
break;
}
}
}
}
int main(){
char *s1="abcdedfhijklmnop12345";
char *s2="123abcdlmnop123nnnn";
char s3[50]="";
maxSub(s1,s2,s3);
puts(s3);
return 0;
}
从第十二行开始报错,segmentation fault,是*p1不能作左值吗?应该没有越界问题,求教相关的存储问题