编写一个函数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;
}