三种字符串逆序的方法
来源:互联网 发布:人工智能的利弊 编辑:程序博客网 时间:2024/06/05 06:16
转载自http://blog.csdn.net/h971379154/article/details/47998423
//字符串逆序 #include <stdio.h> #include <malloc.h> //新创建等长度的数组,将原数组从末字符一次放入新数组char *Reverse_String(char *src){if(NULL==src)return src;char *p = src;int size = 0;while(*++p){size++;}p--;char * store=(char*)malloc((size+1)*sizeof(char));char * q = store;while(p>=src){*q++= *p--;}*q='\0';return store;}//原地交换字符,使用了第三个变量char *swap_reverse(char *s){if(NULL==s)return s;char *left = s;char *right = s;char temp = NULL;while(*right){right++;}right--;while(right>left){temp = *right;*right-- = *left;*left++ = temp;}return s;}//原地交换字符,不使用第三个变量char *reverse(char *s){if(NULL==s)return s;char *left = s;char *right = s;while(*right){right++;}right--;while(right>left){ *left = *left^*right; *right = *left^*right; *left = *left++^*right--;}return s;}void ReversePrint(char *s){if(*(s+1)!='\0')ReversePrint(s+1);printf("%c\n",*s);}int main(void){char a[] = "hello";//char *dec = Reverse_String(src);//printf("%s\n",dec);//char *dec1 = swap_reverse(a);//printf("%s\n",dec1);//char *dec2=reverse(a);//printf("%s\n",dec2);ReversePrint(a);return 0;}
0 0
- 三种字符串逆序的方法
- 三种字符串逆序
- 字符串逆序的几种方法
- 单链表的反转/逆序的三种方法
- Java笔试之几种字符串逆序的方法
- 单链表反转/逆序的三种方法(整理)
- 递归方法的字符串逆序输出
- 4种方法实现字符串逆序输出
- 通过字符串逆序学习二级指针的三种内存模型 #################################################### #########################
- 三种字符串分组相加的方法
- 三种常用的字符串判空串方法
- SQLServer拆分字符串的三种方法
- SQLServer拆分字符串的三种方法
- 三种常用的字符串判空串方法
- 分割字符串的三种方法
- 搜索字符串的三种方法
- 逆转字符串的三种方法
- 搜索字符串的三种方法
- ubuntu apache24 安装
- Mysql主从复制和读写分离方案分析
- BroadCastReciver
- jQuery在页面加载时动态修改图片尺寸
- iOS:Scale to Fill,Aspect Fit,Aspect Fill
- 三种字符串逆序的方法
- Android 自定义View 中的OnMeasure的用法
- PCB板热设计
- Android SDK Manager国内无法更新的解决方案
- Jboss wildfly部署在linux环境上无法访问的问题
- eclipse提示Syntax error, insert “EnumBody” to complete EnumDeclaration
- 数组中只出现一次的数字
- Servlet生命周期与工作原理
- Qt Creator创建 的 project工程文件介绍