用递归方式翻转字符串
2008-04-24 10:50
176 查看
#include<iostream>
using namespace std;
void reverse_str(char* a)
{
if( *a != '/0' )
reverse_str(a+1); //不能写成 reverse_str(a++),原因是传递给子被调 函数的参数一直没变!!
cout << *a; //也不能写成 reverse_str(++a),输出开始会多一个'/0',结尾缺少 头一个字符
}
int main()
{
char *b="abcdef";
reverse_str(b);
}
代码在dev-c++ 4.9.9.2下调试通过
奇怪的是:
dev-c++ 4.9.9.2对a++的情况照样可以正常退出,这明明是个无穷递归啊?!
后来又用while(1)试了下,也能正常退出,晕!
using namespace std;
void reverse_str(char* a)
{
if( *a != '/0' )
reverse_str(a+1); //不能写成 reverse_str(a++),原因是传递给子被调 函数的参数一直没变!!
cout << *a; //也不能写成 reverse_str(++a),输出开始会多一个'/0',结尾缺少 头一个字符
}
int main()
{
char *b="abcdef";
reverse_str(b);
}
代码在dev-c++ 4.9.9.2下调试通过
奇怪的是:
dev-c++ 4.9.9.2对a++的情况照样可以正常退出,这明明是个无穷递归啊?!
后来又用while(1)试了下,也能正常退出,晕!
相关文章推荐
- 递归翻转字符串
- 用递归的方式颠倒字符串
- 如何用递归的方式颠倒字符串
- 一般人不容易想到的使用递归实现字符串的翻转。
- 递归字符串翻转"abc"->"cba"
- 用递归方式将栈内容翻转
- 递归--阶乘/斐波那契数列/判断回文字符串/字符串翻转
- 递归实现字符串翻转
- 将字符串按照指定方式就地翻转
- PHP实现字符串翻转功能的方法【递归与循环算法】
- 以递归方式反序输出一个字符串
- 七种将字符串翻转的方式
- 反转字符串递归与非递归方式
- 递归实现字符串翻转
- 用递归实现字符串翻转
- 多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针
- java将字符串逆序递归方式输出
- 递归-字符串翻转
- 字符串格式化方式及递归
- 字符串中字符的所有组合(递归方式)