
编写递归函数,将输入的字符串按与输入相反的顺序输出
3个回答
展开全部
#include <iostream>
#include <string.h>
void reverse(char *s)
{
char temp;
int len = strlen(s);
if(len > 1)
{
temp = s[0];
s[0] = s[len - 1];
s[len - 1] = '\0'; //为下一次递归填充一个字符串尾
reverse(s+1);
s[len - 1] = temp; //还原本次递归的最后一个字符
}
}
int main()
{
char s[] = "Hello!";
reverse(s);
std::cout << s;
return 0;
}
该注释的都注释了,不难理解,自己看吧。。。
展开全部
int reverse(char *str)
{
if('\0' == *str )
return 0;
reverse(str+1);
printf("%c", *str);
}
{
if('\0' == *str )
return 0;
reverse(str+1);
printf("%c", *str);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void trans(char *p)
{
if(*p != '\0')
trans(p+1);
printf("%c",*(p-1));
}
int main(void)
{
char a[20];
char *p;
p = a;
printf("please input the string:\n");
scanf("%s",p);
trans(p);
return 0;
}
void trans(char *p)
{
if(*p != '\0')
trans(p+1);
printf("%c",*(p-1));
}
int main(void)
{
char a[20];
char *p;
p = a;
printf("please input the string:\n");
scanf("%s",p);
trans(p);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询