用遞歸的方式逆置字符串

#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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章