题目:
写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。
代码内容:
/*写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。
试分别用递归和非递归两种形式编写。
*/
//觉得不错点个赞谢谢!
#include<stdio.h>
#include<string.h>
#define N 20
void reverse_01(char *s)
{
int i=0;
while(s[i]!='\0')
{
i++;
}
while(--i>=0)
{
putchar(s[i]);
}
putchar('\n');
return;
}
char reverse_02(char *s)
{
int i=0;
if(*s=='\0')
{
return ;
}
reverse_02(s+1);
printf("%c",*s);
}
int main()
{
char s[N];
int num=0;
gets(s);
fflush(stdin);
printf("Input your number:1.非递归方式;2.递归方式");
scanf("%d",&num);
if(num!=1&&num!=2)
{
printf("input is error!");
return 1;
}
if(num==1)
{
reverse_01(s);
}
if(num==2)
{
reverse_02(s);
}
return 0;
}