在main函数中输入一个小于100个字符的英文句子和一个单词,编写返回指针的函数实现将句子中的该单词删除后返回字符串。
测试数据: 英文句子: "this is a test string"
单词: " test"
输出: this is a string
#include<stdio.h>
#include<string.h>
char *replace(char *str,char *del,int n);
int main()
{
char str[100];
char del[10];
int n;
printf("请输入一个英文句子:");
gets(str);
n=strlen(str);
printf("输入要删除的单词:");
gets(del);
printf("新的句子为:\n");
puts(replace(str,del,n));
return 0;
}
char *replace(char *str,char *del,int n)
{
char *temp[100];
int m=0,i,j,k;
for(i=0;str[i]!='\0'&&str[i+1]!='\0';i++)
{
for(j=i,k=0;str[j]=del[k];j++,k++)
;
if(del[k]=='\0')
{
strcpy(temp,str[i]);
strcpy(str+i-1,temp+strlen(del));
m++;
}
}
str[n-strlen(del)*m]='\0';
return str;
}