给定一个字符串,使用递归的算法将其倒置。
代码:
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,len-1); } int main() { char m[]="abcd"; reserve(m); printf("%s\n",m); return 0; }