问题描述】编写一个程序,当在一个字符串中出现子串时就删除它。
【输入形式】用户在第一行输入一个字符串,用户在第二行输入一个子串。
【输出形式】程序在下一行输出删除其中所有子串后的字符串。如果字符串不包含子串则输出原字符串本身。
【样例输入】
I am a boy!
a
【样例输出】
I m boy!#include <stdio.h>
#include <string.h>
int main()
{
char s1[100],s2[100],*p;
int n;
char *swap(char *s1,char *s2);
gets(s1);
gets(s2);
n=strlen(s2);
p=swap(s1,s2);
if(p==NULL)
{
printf("%c",s1);
return 0;
}
else
{
for(;(*p=*(p+n))!='\0';p++)
;
puts(s1);
}
return 0;
}
char *swap(char *s1,char *s2)
{
int n;
n=strlen(s2);
while(strncmp(s1,s2,n)!=0&&*(s1+n-1)!='\0')
s1++;
return *(s1+n-1)!='\0'?s1:NULL;
}我这个哪里写错了啊