1 #include <iostream> 2 /* 3 实现反转函数,即反转一个Null结尾的字符串 4 注意:不分配额外的空间,直接就反转字符串,另外 5 还要注意Null字符 6 思路: 7 1.先计算字符串的长度,计算的长度包含null,所以计算出来的数值应再减去1 8 2.从字符串首尾开始交换两个字符,直到指针在中间碰头 9 */ 10 11 using namespace std; 12 void reverse(char *str) 13 { 14 char *end=str; 15 char tmp; 16 if(str) 17 { 18 while(*end) 19 { 20 ++end; 21 } 22 --end; 23 while(str<end) 24 { 25 tmp=*str; 26 *str++=*end; 27 *end--=tmp; 28 } 29 } 30 } 31 32 int main() 33 { 34 char s[]={'a','b','c'}; 35 cout<<s<<endl; 36 reverse(s); 37 cout<<s<<endl; 38 return 0; 39 }