我正在做一个赋值,它要求在不使用string.h库的情况下从字符串中删除一些字符,这是我的代码:
int deleteFunc(char chara[100], char a)
{
int i ;
for ( i = 0 ; i < 100; i++)
if (a == chara[i])
return TRUE;
else return FALSE;
}
我虽然在我的deleteFunc中有一些问题,但我不知道如何解决这个问题,任何人都可以提供帮助。谢谢!
答案 0 :(得分:0)
deleteFunc
更改为
int deleteFunc(char chara[100], char a){
int i ;
for ( i = 0 ; i < 100 && chara[i]; i++)//'\0' after the garbage data
if (a == chara[i])
return TRUE;
return FALSE;//If that does not match all of the candidate
}
并在主
*pointer = '\0';
printf("String after removing is \"%s\"\n", start);//Display prior to release, or written back
答案 1 :(得分:0)
请查看以下可能有用的代码。
int main()
{
int i=0,j=0,k=0,q;
char a[20],b[20];
char *p = malloc(20);
scanf("%s %s",a,b);
while(a[i] != '\0')
{
j=0;
q =0;
while(b[j] != '\0')
{
if(a[i] == b[j])
{
q =1;
break;
}
j++;
}
if(!q)
p[k++] = a[i];
i++;
}
p[k] = '\0';
printf("%s\n",p);
free(p);
return 0;
}