我正在学习如何使用 k&r 书(C 编程语言)用 C 语言编写程序,但其中一个练习有问题。它要求我检测并删除字符串 s1 中的一个字符,该字符与字符串 s2 中的任何字符匹配。
所以,说 s1 = "A";
和 s2 = "AABAACAADAAE"
我希望它返回“BCDE”
我知道我走在正确的道路上,我只是不知道如何很好地设计程序,你能否给我任何额外的提示。我试图阅读二叉搜索树算法,但觉得它对于这个平凡的任务来说有点太高级了。
感谢大家!
/* An alternate version of squeeze(s1, s2) that deletes each character in
* s1 that matches any character in the string s2
*
* Angie@odfx.org
*/
#include <stdio.h>
#include <string.h>
void squeeze(char s[], char t[]);
char string[] = "BAD";
char sstring[] = "ABC";
int
main(void)
{
squeeze(string, sstring);
return 0;
}
void
squeeze(char s[], char t[])
{
int i, j, d;
d = 0;
if(strstr(s, t) == NULL)
printf("%c", s[i]);
s[j] = '\0';
}