把A中字母标记为 ‘\0’ 空格是’\10’
in函数迭代A和B判断是否包含
打印函数打印时不打印‘\0’
算法有点蠢?
可以在打印函数中选择是否打印(使用in函数),就可以省一些循环
函数描述应该放在函数原型中吧。。。。。。
#include <stdio.h>
void get_string(char*);
int in(char,char*);
void put_string(char*);
int main(void)
{
char subtracted[10000];
char minus[10000];
int i = 0;
char ch;
get_string(subtracted);
get_string(minus);
while((ch = subtracted[i])!='\n')
{
if (in(ch,minus))
subtracted[i]='\0';
i++;
}
put_string(subtracted);
return 0;
}
//get input include the '\n'
void get_string(char*str)
{
char ch;
int i;
while ((ch=getchar())!='\n')
{
str[i] = ch;
i++;
}
str[i]='\n';
}
//input char
//output 1(if char in minus) 0(if char not in minus)
int in(char ch,char*minus)
{
char minus_char;
int i = 0;
while((minus_char=minus[i])!='\n')
{
if (minus_char==ch)
return 1;
i++;
}
return 0;
}
//input "h\0\0\0o"
//output "ho"
void put_string(char* str)
{
char ch;
int i=0;
while ((ch = str[i])!='\n')
{
if (ch!='\0')
putchar(ch);
i++;
}
}