C/C++ 实现递归和栈逆序字符串的实例

时间:2022-10-11 16:51:36

C/C++ 实现递归和栈逆序字符串的实例

递归函数调用模型

C/C++ 实现递归和栈逆序字符串的实例

逆序方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void revers(char *buf){
  char *p = buf;
  if (p == NULL) {
 
    return;
  }
  //递归结束条件
  if (*p == '\0') {
 
    return;
  }
  //递归调用
  revers(p + 1);
  //在字符串的结尾追加n个字符
  strncat(buf_g, p, 1);
 
 
 
 
}

调用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}

以上就是C/C++ 实现递归和栈逆序字符串的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:https://my.oschina.net/roycehe/blog/1456559