c语言

c语言怎么删除数字字符

小亿
323
2023-11-08 17:06:05
栏目: 编程语言

在C语言中,可以使用循环和条件判断语句来删除数字字符。下面是一个示例程序:

#include <stdio.h>
#include <string.h>

void deleteDigits(char* str) {
    int len = strlen(str);
    int i, j;

    for (i = 0, j = 0; i < len; i++) {
        if (str[i] < '0' || str[i] > '9') {
            str[j++] = str[i];
        }
    }
    str[j] = '\0';
}

int main() {
    char str[100];

    printf("输入一个字符串:");
    fgets(str, sizeof(str), stdin);

    // 删除数字字符
    deleteDigits(str);

    printf("删除数字字符后的字符串:%s\n", str);

    return 0;
}

在上面的示例程序中,deleteDigits 函数用于删除数字字符。它使用两个指针 ij,其中 i 指向当前字符,j 指向新字符串中的位置。如果当前字符不是数字字符,则将其复制到新字符串中,并将 j 增加1。最后,将新字符串的末尾设置为 \0 结束符。

main 函数中,首先通过 fgets 函数从标准输入中读取字符串。然后调用 deleteDigits 函数删除数字字符,并将结果打印出来。

注意:上述示例程序只能删除字符串中的数字字符,而不能删除其他类型的数字(例如整数、浮点数等)。如果需要处理其他类型的数字,请使用相应的函数库(例如 stdlib.h)。

0
看了该问题的人还看了