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