如何在不使用库函数和第三方变量的情况下,实现字符串反转?

函数原型为
[code="c"]void Reverse(const char* s1,char* s2)[/code]

void reverse(const char *s1,char *s2){

while(*s1!=NULL)s1++; //s1已经指向NULL
s1--;    //s1指向字符串的最后一个字符
while(*s1!=NULL)*s2++=*s1--; 
s1++; //s1指向字符串第一个字符
*s2='\0'; //给字符串加上结束标志
s2--; //回到字符串的最后一个字符
while(*s2!=NULL)s2--;
s2++; //回到反转后字符串的第一个字符

}

使用s2的结尾标志的那一个内存,进行反转