C/C++拾遗(一)递归和栈逆序字符串

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

递归函数调用模型

C/C++拾遗(一)递归和栈逆序字符串_第1张图片

逆序方法

void revers(char  *buf){
    char *p = buf;
    if (p == NULL) {
        
        return;
    }
    //递归结束条件
    if (*p == '\0') {
        
        return;
    }
    //递归调用
    revers(p + 1);
    //在字符串的结尾追加n个字符
    strncat(buf_g, p, 1);
    
    


}

调用

int main(int argc, const char * argv[]) {
    
    char *c = "abcde";
    //清空
    memset(buf_g, 0, sizeof(buf_g));
    
    revers(c);
    printf("%s\n",buf_g);
    
    
    
    return 0;
}

转载于:https://my.oschina.net/roycehe/blog/1456559

你可能感兴趣的:(C/C++拾遗(一)递归和栈逆序字符串)