一聚教程网:一个值得你收藏的教程网站

热门教程

C语言删除字符串中指定字符的例子

时间:2022-06-25 04:53:27 编辑:袖梨 来源:一聚教程网

题目如图:

C语言删除字符串中指定字符的例子

题目意思很明显了,我们的思路其实也挺简单的,换句话说,删掉一个然后重构数组,补上那个空,一个个字符推进一格就行了嘛,不用想得太复杂(简单的来说就是偷懒)。

 代码如下 复制代码
#include
#include
void delchar(char s[], char c);
int main(void)
{
    char c;
    char s[80];
    printf("Input a string: ");
    gets(s);
    printf("Input a char: ");
    scanf("%c", &c);
    delchar(s, c);
    printf("After deleted,the string is:%s", s);
    return 0;
}
void delchar(char s[], char c)
{
    int i, j, len;
    len = strlen(s);
    for(i = 0; i < len; i++) {
        if(s[i] == c) {
            for(j = i; j < len; j++)
                s[j] = s[j + 1];
            i = i - 1;
        }
    }
}

程序是同学问我了之后我改的,所以不必太在意和我的风格不符=。=

根据评论,我们改进代码(评论里师匠写的)

 代码如下 复制代码

void delchar(char s[], char c)
{
    int len;
    char *p, *q;
    for (p = q = s; *p; ++p) {
        if (*p != c) {
            *(q++) = *p;
        }
    }
    *q = '\0';
}

热门栏目