您的位置:首页 > 其它

用递归方式翻转字符串

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)试了下,也能正常退出,晕!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: