编写如下C语言函数,删除字符串str内的所有数字字符。 void del_digit(char *str); 例如,如果接收"AB1C9",就返回"ABC"。注意不要使用 下标运算符。 注意,需要给出完整的C语言源代码
时间: 2024-04-14 09:26:15 浏览: 224
c语言删除字符串中指定的所有字符
4星 · 用户满意度95%
当然,下面是一个删除字符串中所有数字字符的C语言函数的完整代码:
```c
#include <stdio.h>
void del_digit(char *str) {
if (str == NULL) {
return;
}
char *dest = str;
while (*str != '\0') {
if (*str < '0' || *str > '9') {
*dest = *str;
dest++;
}
str++;
}
*dest = '\0';
}
int main() {
char str[] = "AB1C9";
printf("Before: %s\n", str);
del_digit(str);
printf("After: %s\n", str);
return 0;
}
```
此程序中的 `del_digit` 函数接收一个字符串指针 `str`,并使用两个指针 `str` 和 `dest` 来遍历和修改字符串。`str` 指针用于遍历原始字符串中的每个字符,而 `dest` 指针用于指示新字符串中的位置。当遇到非数字字符时,将其复制到 `dest` 指针所指向的位置,并递增 `dest` 指针。最后,在新字符串的末尾添加一个空字符来表示字符串的结束。
在主函数中,我们演示了如何使用 `del_digit` 函数。输出结果应为 "ABC"。
请注意,这只是一个示例实现,可能还有其他方法来删除字符串中的数字字符。
阅读全文