编程语言
首页 > 编程语言> > 有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。

有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。

作者:互联网

#include <stdio.h>
#define SIZE 60

void delete(char [], char);  // 函数delete原型声明
int main() {
    char str[SIZE], c;  // 字符数组str、待删除字符c
    printf("请输入字符串:");
    gets(str);
    printf("请输入要删除的字符:");
    scanf("%c", &c);
    delete(str, c);
    printf("删除后:%s", str);

    return 0;
}

void delete(char str[], char c) {
    int j = 0;
    // 解法一:
//    for (int i = 0; str[i] != '\0'; i++)
//        if (str[i] != c) {
//            str[j] = str[i];  // 若不同则保留,否则跳过
//            j++;
//        }
    // 解法二:
    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] == c) continue;  // // 若相同则跳过,否则保留
        str[j++] = str[i];
    }
    str[j] = '\0';  // 在字符串末尾加上'\0'
}

标签:中该,字符,int,char,++,str,字符串,delete
来源: https://blog.csdn.net/qq_45917176/article/details/114785572