[求助]C++的递归函数
设计一个递归函数,将一个字符串按其逆序输出。比如,设源串为"abcdef",则输出为fedcba。程序可以输入任意长的字符串然后输出的。
[此贴子已经被作者于2006-10-21 23:54:35编辑过]
我也实在想不出什么办法,只是将楼上老大的做了一下改动:
#include<iostream.h>
#include<string.h>
void fun(char *ch,int n);
int main()
{
char ABC[]="abcdef";
cout<<ABC<<endl;
fun(ABC,sizeof(ABC)/sizeof(char)-1);
cout<<endl;
}
void fun(char *ch,int n)
{
if(n==0)
{
cout<<*ch;
return ;
}
else
{
cout<<*(ch+n);
fun(ch,n-1);
}
}
运行如下:
abcdef
fedcba
#include<iostream.h>
#include<string.h>
void fun(char *ch,int n);
int main()
{
char ABC[]="abcdef";
cout<<ABC<<endl;
fun(ABC,sizeof(ABC)-2);
cout<<endl;
return 0;
}
void fun(char *ch,int n)
{
if(n==0) cout<<*ch;
else
{
cout<<*(ch+n);
fun(ch,n-1);
}
}
[此贴子已经被作者于2006-10-22 0:18:51编辑过]