c语言自定义函数删除字符串中指定的数
时间: 2024-09-08 07:00:51 浏览: 58
在C语言中,可以通过自定义函数来删除字符串中指定的字符。这个过程涉及到遍历字符串,检查每个字符是否为指定要删除的字符,如果不是,则将其保留在新字符串中。以下是一个简单的实现示例:
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
// 函数声明
void removeChar(char* source, char ch);
int main() {
char str[] = "Hello, World!";
char ch = 'o'; // 指定要删除的字符
printf("原始字符串: %s\n", str);
removeChar(str, ch);
printf("删除指定字符后的字符串: %s\n", str);
return 0;
}
// 自定义函数实现
void removeChar(char* source, char ch) {
int k = 0; // 新字符串的索引
char* str = source; // 指向源字符串的指针
while (*str) { // 遍历源字符串直到遇到空字符'\0'
if (*str != ch) { // 如果当前字符不是要删除的字符
source[k++] = *str; // 将其复制到新字符串的位置
}
str++; // 移动到源字符串的下一个字符
}
source[k] = '\0'; // 在新字符串的末尾添加空字符
}
```
这段代码中,`removeChar` 函数接受两个参数:`source` 指向需要删除字符的原始字符串,`ch` 是指定要删除的字符。函数通过遍历原始字符串,并且将不是指定字符的所有字符复制到原字符串的开始位置,然后在处理完所有字符后,确保复制回的新字符串以空字符结尾。
阅读全文