写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。

递归算法中需要使用一个静态变量存储数组下标

#include <iostream>
using namespace std;

void invert(char A[])
{
    char ch;
    static int i=0;//利用静态变量存储数组下标
    cin>>ch;
    if(ch!='#')
    {
        invert(A);
        A[i++]=ch;//先存的放到后边
    }
    A[i]='\0';
}

int main()
{
    char A[100];
    cout<<"请输入一个字符串(以’#‘为结束标志,不包括‘#’)"<<endl;
    invert(A);
    cout<<"逆置后为:"<<A;//char型数组可以利用数组名直接输出,int型则会输出其首地址
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42451835/article/details/83988539