1 采用"两头堵"模型
void reversal(char *p)
{
char *buf=p;
int length=strlen(buf);
char *p1=buf;
char *p2=buf+length-1;
while(p1<p2)
{
char tmp=*p1;
*p1=*p2;
*p2=*p1;
++p1;
--p2;
}
}
2 采用递归+栈的模型
void inverse(char* p)
{
if(p==NULL)
return ;
if(*p=='\0')
return ;
inverse(p+1);
printf("%c",*p);
}
void inverse2(char* p,char* bufresult)
{
if(p==NULL||bufresult==NULL)
return ;
if(*p=='\0')
return ;
inverse2(p+1,bufresult);
strncpy(bufresult,p,1);
}