您的位置:首页 > 其它

递归系列2(字符串翻转,12345翻转)

2017-05-27 16:37 190 查看
编写一个函数reverse_string(char * string)(递归实现)

实现:将參数字符串中的字符反向排列。

要求:不能使用C函数库中的字符串操作函数。

<span style="font-size:24px;">#include<stdio.h>
void reverse_string(char * string)
{
if(*string != '\0')
{
reverse_string(string+1);
printf("%c",*string);
}
else
return;
}
int main()
{
char *p = "abcdef";
reverse_string(p);
printf("\n");
return 0;
}

把12345翻转成54321

#include<stdio.h>
void print(int n)
{
if(n != 0)
{
printf("%d",n%10);
print(n/10);
}
}
int main()
{
int a = 12345;
print(a);
printf("\n");
return 0;
}

还有一种翻转

abcd 翻转成 dcba

#include<stdio.h>
void reverse_string(char * str)
{
int n = 0;
char *p = str;
char tmp;
while(*p++ != '\0')
{
n++;
}
if(n > 1)
{
tmp=str[0];
str[0] = str[n-1];
str[n-1]='\0';
reverse_string(str+1);
str[n-1] = tmp;
}
}
int main()
{
char string[]="abcd";
reverse_string(string);
printf("%s\n",string);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: