用c++编写递归函数删除字符
时间: 2024-05-08 22:18:47 浏览: 69
删除字符(递归)_删除字符c++_递归删字符_
5星 · 资源好评率100%
在字符串中的所有指定字符。
可以参考下面的代码示例:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch) {
// 判断字符串是否为空
if (*str == '\0') {
return;
}
// 如果当前字符是指定字符,则删除
if (*str == ch) {
// 将后面的字符依次左移
char *p = str;
while (*p != '\0') {
*p = *(p+1);
p++;
}
// 递归调用删除下一个字符
delete_char(str, ch);
} else {
// 继续递归到下一个字符
delete_char(str+1, ch);
}
}
int main() {
char str[100], ch;
printf("请输入字符串:");
gets(str);
printf("请输入要删除的字符:");
scanf("%c", &ch);
delete_char(str, ch);
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
阅读全文