给定一个字符串,使用递归的算法将其倒置。
代码:
void reserve1(char str[],int i,int h)
{
char t;
printf("i=%d%d\n",i,h);
if(i>h)
return;
else
{
reserve1(str,++i,--h);
printf("i=%d\n",i);
t=str[--i];
str[i]=str[++h];
str[h]=t;
}
}
void reserve(char *str)
{
if(*str==NULL)
return;
int len=strlen(str);
reserve1(str,0,len-1);
}
int main()
{
char m[]="abcd";
reserve(m);
printf("%s\n",m);
return 0;
}