问题遇到的现象和发生背景
写一个函数squeeze(char s1[], char s2[]),它从字符串s1中删除所有出现在串s2里的字符,并保证不改变原字符串s1的先后顺序。
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
#include<string.h>
void squeeze(char s1[], char s2[]);
int main()
{
char str1[100], str2[100];
gets(str1);
gets(str2);
squeeze(str1, str2);
return 0;
}
void squeeze(char s1[], char s2[])
{
int count= 0;
int len1 =strlen(s1);
int len2 = strlen(s2);
for (int j= 0; j < len2; j++)
{
for (int i= 0; i< len1; i++)
{
if (s1[i] == s2[j]) {
while (s1[i + 1])
{
s1[i] = s1[i + 1];
i++;
}
s1[i] = '\0';
}
}
}
puts(s1);
}
运行结果及报错内容
应该要把所有相同的字符都删了,但是只删了一个
我的解答思路和尝试过的方法
应该如何解决呢?
我想要达到的结果
要删去所有相同的字符