函数中定义的指针指向数组参数,指针解引用之后可以做左值吗
  • 板块学术版
  • 楼主_Proselyte_
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/11/30 21:07
  • 上次更新2023/12/1 11:19:17
查看原帖
函数中定义的指针指向数组参数,指针解引用之后可以做左值吗
1120810
_Proselyte_楼主2023/11/30 21:07
#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不能作左值吗?应该没有越界问题,求教相关的存储问题

2023/11/30 21:07
加载中...