递归逆序输出字符串 简单的递归- -
把递归看成回溯了 ,写了半天 不出结果, - -
用了两种 一种指针 一种正常
#include<iostream>
#include<string.h>
#include<stdio.h>
const int N=200;
using namespace std;
void traceback1(int i,char str[])
{
if(str[i]=='\0')
{
return;
}
else
{
traceback1(i+1,str);
printf("%c",str[i]);
}
}
void traceback2(char *str)//指针操作
{
if(*str!='\0')
traceback2(str+1);
printf("%c",*str);
}
int main()
{
char str[N];
gets(str);
traceback1(0,str);
printf("\n");
traceback2(str);
return 0;
}
岂曰无衣?与子同袍。王于兴师,修我戈矛。与子同仇!
岂曰无衣?与子同泽。王于兴师,修我矛戟。与子偕作!
岂曰无衣?与子同裳。王于兴师,修我甲兵。与子偕行!

浙公网安备 33010602011771号