如下,注释的地方为借助的第二个指针,想直接这样只用一个p指针完成这题,但是会有一个测试点不通过"最长字符串,要删除的都在中间和两端".在一个同学那里得到的答案是p是一块临时空间不能对他做cpy.但是经历while循环以后p和cur的地址不是一样的吗.希望有大佬指点一下是哪里有问题
有可以不用函数解决的方法,但是碰巧多试了几种,想明白其中的原因.
题目为A-B,浙大那道.
#include<stdio.h>
#include<string.h>
#define N 10010
int main()
{
char A[N],B[N];
scanf("%[^\n] %[^\n]", &A,&B);
char* p = malloc(sizeof(char));
for( int i=0; B[i]!='\0'; i++ )
{
while( p = strchr(A,B[i]) )
{
strcpy(p,p+1);
}
}
printf("%s", A);
return 0;
}