c语言指针删除字符求解

题目描述:编写一个函数DelChar(char *str, charc),该函数用于将字符串str 中出现的
所有c字符删除。在main函数中,输入一个字符ch和一个字符串s,调用函数DelChar,
删除字符串s中所有字符ch。
如图所示

img

 
#include<stdio.h>
void DelChar(char *str,char c)
{
      int i=0,j=0;
      while(str[i] != '\0')
      {
          if(str[i] != c)
            str[j++] = str[i];
          i++;
      } 
      str[j] = '\0';
}
int main()
{
    char str[101],c;
    c = getchar();
    getchar();
    gets(str);
    DelChar(str,c);
    printf("%s",str);
    return 0;
}



#include<stdio.h>
#include<string.h>
void DelChar(char *str,char ch);
int main()
{
    int i;
    char str[101],ch;
    scanf("%s",str);
    getchar();
    scanf("%c",&ch);
    delcharfun(str,ch);
    printf("%s",str);
    return 0;
}
void DelChar(char *str,char ch)
{
    for(int i=0;i<strlen(str);i++)
    {
        if(*(str+i)==ch)
        {
            for(int j=i;j<strlen(str);j++)
            {
                *(str+j)=*(str+j+1);
            } 
        }
    }
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632