c总结4 --- 字符串逆序(指针学习3)
2015-10-19 10:15
169 查看
学完了查找之后,我们来学习下字符串的逆序,因为在很多的时候我们都需要使用这样的功能。
比如我们现在又一个字符串 “abcdef”,要想实现逆序,其实就是将a和f、 b和e、c和d的位置进行调换即可,我们可以借助两个指针,分别指向a和f所在的位置,
然后让他们交换,知道前面的指针比后面的指针位置还小的时候结束。
直接上代码
比如我们现在又一个字符串 “abcdef”,要想实现逆序,其实就是将a和f、 b和e、c和d的位置进行调换即可,我们可以借助两个指针,分别指向a和f所在的位置,
然后让他们交换,知道前面的指针比后面的指针位置还小的时候结束。
直接上代码
/************************************************************************/ /* 函数名称:myStrRev /* 函数功能:实现字符串的反转 /* 参数1: 进行反转的字符串 /************************************************************************/ void myStrRev(char *p) { //如果为空则直接终止 if ( p == NULL) { return; } //定义一个临时 字符变量 char temp ; //定义两个指针 分别指向字符串的开头 和 结尾位置(\0前) char * pStart = p; //指向下标为0的位置 char * pEnd = p + strlen(p) - 1; //指向下标为strlen(p)-1的位置 也就是\0前面的位置 while (pStart < pEnd) { //将前面指针指向的字符赋给字符变量temp temp = *pStart; //将后面指针指向的字符 赋值给前面指针指向的位置 *pStart = *pEnd; //将字符变量temp的值 赋值给 后面指针指向的位置 *pEnd = temp; //前面指针自增 pStart++; //后面指针自减 pEnd--; } } int _tmain31(int argc, _TCHAR* argv[]) { //定义字符串变量 char str[] = "saodiseng"; //调用方法 myStrRev(str); //将字符串进行打印 printf("%s \n", str); system("pause"); return 0; }
相关文章推荐
- ios 面试
- Java 代理模式
- VS统计项目总代码行数
- iTunes
- Redis节点配置
- Linux高端内存映射(下)
- 机器学习(七)线性回归、正规方程、逻辑回归的正规化
- 关于VS2010工程各种路径注意事项汇总
- 【笔记】机器学习基础——国立台湾大学
- 优先级队列(PriprityQueue)是一种什么样的数据结构
- 只唤醒对方
- Maven War包 POM配置文件 设置最佳实践
- iOS中Bitcode的介绍及配置
- 四元数介绍
- Linux伙伴系统(五)--通过迁移类型分组来实现反碎片
- 织梦采集用
- Qt编译问题笔记
- leetcode --Number of 1 Bits
- 相册图片选取,图片压缩和图片jpg、png格式的转换
- 一致性哈希算法(consistent hashing)