从字符数组中删除字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从字符数组中删除字符相关的知识,希望对你有一定的参考价值。

/*实现程序的功能:从字符数组s中删除存放在c中的字符。*/

#include <stdio.h>


int main(int argc,  const char *argv[])
{
    char  s[80],c;
    
    printf("请输入一个字符串\n");
    gets(s);
    
    printf("请输入一个字符\n");
    scanf("%c",&c);
    
    //遍历字符串
    for (int i = 0; s[i] != \0; i++) {
        if (s[i] == c) {
            //如果小标i对应的字符等于c,那么字符依次前移一位
            //注意:此处不能再使用i,因为循环完毕会导致i的值为字符串最后一个字符对应的下标
            for (int j = i; s[j] != \0; j++) {
                s[j] = s[j+1];
            }
        }
    }
    printf("%s\n",s);
    return 0; 
}

 

以上是关于从字符数组中删除字符的主要内容,如果未能解决你的问题,请参考以下文章

从C中的字符串/字符数组中删除空格的函数

从分解的字符串中删除空数组元素[重复]

无法从字符串数组中删除空格

我想从数组中删除字符串

删除字符串数组中的重复字符串

从 HTML 片段中删除空标签对