编写一个函数delchar(char *s1,char s2),从字符串s1中删去与s2相同的字符。用main()测试该函数。用递归法

求助~!实在想不出如何用递归实现
2024-11-07 08:29:47
推荐回答(1个)
回答(1):

#include
using namespace std;

char * delchar(char *s1, char s2) //函数定义
{
if (*s1 == '\0')
return s1;
if (*s1 == s2) {
strcpy(s1, s1 + 1);
delchar(s1, s2);

} else {
delchar(++s1, s2);
}
return s1;

}

int main()
{
char s1[] = "bsklambdabag";
char s2 = 'a';
cout<<"原来的字符串是:\n"< delchar(s1, s2); //函数调用
cout<<"删除后指定字符后的字符串是:\n"< return 0;
}