A string backward recursively

#include<iostream>
using namespace std;

void reverse(char *s, char *t){//s是当前字符串的头,t是尾
    char c;
    if (s < t){
        c = *s;
        *s = *t;
        *t = c;
        reverse(++s, --t);//每一轮都为更短的掐头去尾的字符串交换头尾数据
    }
}

void main(){
    char str[20]="ABCDEFG";

    //第一次调用,数组str + strlen(str) - 1可计算出数组最后一个元素的指针
    reverse(str, str + strlen(str) - 1);

    cout << "逆序后为:" << str << endl;
}

 

Published 22 original articles · won praise 3 · views 10000 +

Guess you like

Origin blog.csdn.net/floracuu/article/details/104229060