C++ “我想替换字符”;a「;“有个性”;z";仅使用递归

C++ “我想替换字符”;a「;“有个性”;z";仅使用递归,c++,function,recursion,definition,c-strings,C++,Function,Recursion,Definition,C Strings,我是一名编程新手,我想将此数组打印为字母“a”,应替换字母“z”,并打印更新后的字符串 #include <iostream> char strng(char[],int); using namespace std; int main() { char s[]="all in all"; int i=0; char result; //cout<< sizeof(s);

我是一名编程新手,我想将此数组打印为字母“a”,应替换字母“z”,并打印更新后的字符串

#include <iostream>
    char strng(char[],int);
    using namespace std;
    int main() {
        char s[]="all in all";
        int i=0;
        char result;
        //cout<< sizeof(s);
       result=strng(s,i);
       cout<<result;
        return 0;
    }
    char strng (char name[],int i) {
        if(!name){
            return (0) ;
        }
        else if(name[i]=='a'){
            name[i]='z';
            return (strng(name ,i++));
        }
    }

#包括
char strng(char[],int);
使用名称空间std;
int main(){
字符s[]=“全部”;
int i=0;
字符结果;

//cout您的函数实现太复杂且无效

例如在这句话中

   if(!name){
        return (0) ;
return (strng(name ,i++));
检查
name
是否等于null ptr,同时需要检查name[i]是否等于null终止字符
'\0'

   if(!name[i]){
        return (0) ;.
由于return语句中使用了post increment运算符

   if(!name){
        return (0) ;
return (strng(name ,i++));
该函数在递增之前使用相同的
i
值调用自身

函数应返回指向修改后字符串的指针,该字符串的返回类型应为
char*

如演示程序所示,该函数可按以下方式定义

#include <iostream>

char * replace_char( char *s, char source = 'a', char substitution = 'e' )
{
    if ( *s )
    {
        if ( *s == source ) *s = substitution;
        replace_char( s + 1, source, substitution );
    }       

    return s;
}

int main() 
{
    char s[]="all in all";  

    std::cout << s << '\n';
    std::cout << replace_char( s ) << '\n';

    return 0;
}
#包括
#包括
#包括
void replaceChar(char*ptr,int len){
如果(len==0){
如果((*(ptr+len))=='a'){
(*(ptr+len))='z';
}
}
否则{
如果((*(ptr+len))=='a'){
(*(ptr+len))='z';
}
替换字符(ptr,len-1);
}
}
int main(){
字符str[]=“Mandar”;
put(str);
replaceChar(str,strlen(str)-1);
put(str);
}

请问问题是什么?函数完成后返回单个
char
0
,然后输出。需要在内部
if
外部递归调用,结束检测应该是
if(!name[i])
if(name[i]=0)
Hi@VladfromMoscow,我想使用
std::cout@MandarA没有太大的区别。