如何用递归写出字符串逆序(详解)

目录

1.创建一个字符串

2.创建一个REVERSE的函数

3.定义字符串里面的内容

        3.1 调用这个函数直到遇到0为止

        3.2 一个一个输出

4.注意事项!!!


就像把大象放在冰箱分三步一样简单粗暴

接下来我们就一起将大象放进冰箱吧

1.创建一个字符串

        

#include <stdio.h>
int main()
{
    char ch[]={a,b,c,d,e,f};//创建一个字符串并赋初值
    // 相当于打开冰箱门打开
}

2.创建一个函数REVERSE函数

#include <stdio.h>
int main()
{
    char ch[]="abcdefg"
    REVERSE(ch)
    //这一步相当于把大象放进冰箱
}

3.定义函数并输出

#include <stdio.h>
void REVERSE(char*p)
{
    if(*p!='\0')
    {
        REVERSE(p+1);//这里的p指的是地址,+1相当于将走到一个地址
        printf("%c",*p);//*p是这个地址指向的具体的内容
        //这一步相当于把冰箱门一关并打开了电源
    }
}
int main()
{
    char ch[]="abcdefg"
    REVERSE(ch)
}

4 .注意事项!!!

        1.数组再给函数传参的时候传的是首个元素的地址,接收的时候要用指针变量来接收

        2.*p是地址指向具体的内容,而p是地址。

        3.如果想让数组元素的地址跳向下一个必须用地址+具体的数字

不可直接p++

        4.*p是地址指向的具体内容,一个地址只能存放一个内容所以*p代表的是这个地址里面的一个具体内容。所以在打印的时候不能直接用字符串的打印标志%s打印,只能一个一个的打印


博主才疏学浅,如果我的文章有幸被各位看到,希望各位多多指点。共同进步

猜你喜欢

转载自blog.csdn.net/weixin_60359155/article/details/121169876