【发布时间】:2014-09-29 04:59:53
【问题描述】:
我输入了两个字符串(string1 和 string2)。我需要做的是删除字符串 2 中的所有字母 FROM string1。前任。 string1="abcdefghi",string2="afbdh",输出="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++;
}
}
【问题讨论】:
-
你忘了问问题。当您按下标有
的按钮时,您应该提出一个问题。 -
string1中的字母可以重复吗?
-
@learner,我知道,只是在作业的第一部分中,它是从整个字符串中删除一个字符,所以现在面对我这个问题,这就是我必须做的与。
-
请参阅此链接geeksforgeeks.org/… 以获得您的解决方案。
-
算法应该是:a) 创建新的空字符串 b) 遍历 'string1' 中的所有字符和 c) 添加到新字符串,除非它们存在于 'string two' 中。
标签: c string pointers while-loop