教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

c/c++培訓(xùn)之交換兩個字符串

更新時間:2016年08月01日10時00分 來源:傳智播客C/C++學(xué)科 瀏覽次數(shù):

換兩個字符串

簡單介紹一下字逆轉(zhuǎn)字符串的原理。
 
如上圖所示,要逆轉(zhuǎn)一個字符串,我們首先用兩個char *指針指向字符串的開頭和結(jié)尾,假設(shè)這兩個指針分別為pbegin和pend,然后交換這兩個指針指向的字符,之后pbegin向前移動一個位置,pend向后移動一個位置,直到pbegin不小于pend,則字符串逆轉(zhuǎn)結(jié)束。
對應(yīng)代碼如下:
#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指向字符串的結(jié)尾
 
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;
}
結(jié)果如下:
 

本文版權(quán)歸傳智播客C++培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客C/C++培訓(xùn)學(xué)院
首發(fā):http://xamj520.com/c/ 
0 分享到:
和我們在線交談!