是一道笔试题目,当时大概思想有了,只是想的太简单了。
完成后的程序如下:
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++; //回到反转后字符串的第一个字符
}
int main(){
char test[11];
const char *str1="0123456789";
char *str2=test;
reverse(str1,str2);
cout<<"str1为:"<<str1<<endl;
cout<<"str2为:"<<str2<<endl;
return 0;
}
在Dev-C++下调试通过。