教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

c/c++培训之交换两个字符串

更新时间:2016年08月01日10时00分 来源:传智播客C/C++学科 浏览次数:

换两个字符串

简单介绍一下字逆转字符串的原理。
 
如上图所示,要逆转一个字符串,我们首先用两个char *指针指向字符串的开头和结尾,假设这两个指针分别为pbegin和pend,然后交换这两个指针指向的字符,之后pbegin向前移动一个位置,pend向后移动一个位置,直到pbegin不小于pend,则字符串逆转结束。
对应代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int str_reverse(char *str)
{
int ret = 0;
char *pbegin = NULL;
char *pend = NULL;
if (str == NULL)
{
ret = -1;
return ret;
}
 
pbegin = str; //pbegin指向字符串的开头
pend = str + strlen(str) - 1; //pend指向字符串的结尾
 
while (pbegin <= pend)
{
//交换pbegin和pend指向的字符
char ch = *pbegin;
*pbegin = *pend;
*pend = ch;
 
pbegin++; //pbegin向前移动一个位置
pend--; //pend向后移动一个位置
}
 
return ret;
}
 
int main(void)
{
char str[] = "tsacti";
 
str_reverse(str);
printf("reverse:%s\n", str);
 
return 0;
}
结果如下:
 

本文版权归传智播客C++培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客C/C++培训学院
首发:http://www.itcast.cn/c/ 
0 分享到:
和我们在线交谈!