删除字符:输入一个字符串,再输入一个字符ch,将字符串中所有的 ch 字符删除后输出该字符串。要求定义和调用函数void delchar(char *str, char c),该函数将字符串 s 中出现的所有 c 字符删除。
时间: 2024-09-17 16:09:20 浏览: 56
C++实现字符串删除字符后逆序输出
删除字符的功能可以通过编写一个名为 `delchar` 的函数来实现,这个函数接收两个参数:一个是指向字符串的指针 `str`,另一个是要删除的字符 `c`。函数的工作原理通常是遍历整个字符串,遇到不是 `c` 的字符就添加到结果中。以下是这个函数的一个简单实现:
```c
#include <stdio.h>
#include <string.h>
// 定义函数 delchar,删除 str 中所有 c 出现的字符
void delchar(char* str, char c) {
int i = 0, j = 0;
while (str[i] != '\0') { // 遍历直到字符串结束
if (str[i] != c) { // 如果当前字符不是 c,则添加到新位置
str[j++] = str[i]; // 将字符复制到新的位置
}
i++; // 移动到下一个字符
}
str[j] = '\0'; // 结束字符串,如果没有添加字符则不需要这一步
}
int main() {
char str[] = "Hello, World!";
char c = 'o';
printf("Original string: %s\n", str);
delchar(str, c); // 调用 delchar 函数删除 'o'
printf("String after deletion of '%c': %s\n", c, str);
return 0;
}
```
在这个例子中,如果输入的字符串是 "Hello, World!" 和字符 'o',运行 `delchar` 函数后,输出的字符串将是 "Hell, Wrld!"。
阅读全文