Chinaunix首页 | 论坛 | 博客
  • 博客访问: 670045
  • 博文数量: 150
  • 博客积分: 4070
  • 博客等级: 中校
  • 技术积分: 1795
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-23 21:44
文章分类

全部博文(150)

文章存档

2012年(1)

2011年(123)

2010年(26)

分类: C/C++

2011-06-09 20:20:15

方法一:

void Reverse(char *src)

{

       char *des = NULL;

       int len = strlen(src);

       des = (char *)malloc((len+1)*sizeof(char));

       if (des == NULL)

       {

              exit(-1);

       }

 

       char *d = des;

       char *s = &src[len-1];

       while (len-- != 0)

       {

              *d++ = *s--;

       }

       *d = '\0';

       cout<

       cout<

       free(des);

}

 

方法二:在字符串自身上操作,不引入其他的变量

void Reverse(char *src)

{

       int len = strlen(src);

       char tmp;

       for (int i = 0; i < len/2; i++)

       {

              tmp = src[i];

              src[i] = src[len - 1 - i];

              src[len - 1 - i] = tmp;

       }

       cout<

}

 

方法三:递归方法

void Reverse(char *src)

{

       if (*src == '\0')

              return;

       Reverse(src+1);     

       printf("%c", *src);

}

阅读(668) | 评论(0) | 转发(0) |
0

上一篇:文件管理

下一篇:字符串转换为整数

给主人留下些什么吧!~~