您的位置:首页 > 其它

两种字符串逆序的方法

2014-05-21 13:22 309 查看
#include<iostream>
#include<map>
#include<algorithm>
#include<numeric>
using namespace std;

void helper(char* str) ///用指针实现,注意strlen的用法,并且没有动最后的\0
{
int len = strlen(str);
int pleft = 0;
int pright = len - 1;
while(pleft < pright)
{
swap(str[pleft],str[pright]);
pleft++;
pright--;
}
printf("%s",str);
}

void helper1(char* str) ///用异或运算实现的,注意方法
{
char* r = str;
char* p = str;
while(*(p+1) != '\0') ++p;
while(p>r)
{
*p = *p^*r;
*r = *p^*r;
*p = *p--^*r++;
}
printf("%s",str);
}

int main()
{
//    char* s = "abcdefg";
char s[] = "abcdefg";
helper(s);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: