乐鱼电竞



  • 教育行业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 分享到:
    和我们在线交谈!
    【网站地图】【sitemap】