我输入了两个字符串(string1 和 string2)。我需要做的是从字符串 1 中删除字符串 2 中的所有字母。前任。 string1="abcdefghi", string2="afbdh", output="cegi"。现在它只删除一个字母。
我尝试循环 *str3 但我认为在第一次迭代后,*str2 不会返回到 str3[0]
void rmstr(char *str2, char *str3)
{
char *p=str2;
printf("Old String: %s", str2);
while(*str2)
{
if(*p != *str3)
*str2++=*p;
p++;
}
}
最佳答案
这里没有指针。
实际上有很多解决方案可以解决这个问题。
这里是我试过的
string fStr = "bhardwaj", sStr = "dev";
char[] tStr = new char[fStr.Length];
int count = -1, j;
for (j = 0; j < tStr.Length; j++)
tStr[j] = ' ';
for (int i = 0; i < fStr.Length; i++)
{
for (j = 0; j < sStr.Length; j++)
if (fStr[i] == sStr[j]) break;
if (j == sStr.Length)
tStr[++count] = fStr[i];
}
关于C 从字符串中删除多个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092809/