实现反转函数,即反转一个Null结尾的字符串

 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 }

 

posted on 2014-09-03 13:24  daocaorendeshijie  阅读(223)  评论(0编辑  收藏  举报

导航