字符串逆序翻转
来源:互联网 发布:c语言 fabs 编辑:程序博客网 时间:2024/04/24 07:17
#include <stdio.h>#include <string.h>void retStr(char* str);int inversion(char *p,char *bufResult);int trimSpace(char *inStr,char *outStr);int main(int argc,char* argv[]){char str[] = " abc de fg ";char outStr[1024];memset(outStr,0,sizeof(outStr));trimSpace(str,outStr);printf("outstr:%s\n",str);printf("outstr:%s\n",outStr);// char str[] = "abcdefg";// char buf[1024];// memset(buf,0,sizeof buf);// // inversion(str,buf);// // printf("buf:%s\n",buf);// retStr(str);// printf("str:%s\n",str);return 0;}//字符串翻转(1)void retStr(char* str){//必须要显示分配内存int length = strlen(str);char *p1 = str;char *p2 = str + length - 1;while(p1 < p2){char temp = *p1;*p1 = *p2;*p2 = temp;++p1;--p2;}}//通过递归的方式,逆向打印//递归和全局变量(把逆序的结果存入全局变量)//递归和非全局变量(递归指针做函数参数)int inversion(char *p,char *bufResult){if(p == NULL || bufResult == NULL || *p == '\0')//递归结束的异常条件,//递归结束的条件return 0;//递归两点:参数的入栈模型和函数的调用模型inversion(p+1,bufResult);//此时没有执行打印 而是执行了函数调用(重点理解) //让每一个字符的地址入栈//printf("%c",*p);strncat(bufResult,p,1);return 0;}//通过循环求非空字符串int trimSpace(char *inStr,char *outStr){char *p = inStr;int num = 0;if (inStr == NULL || outStr == NULL){num = -1;printf("func trimSpace()check (inStr == NULL || outStr == NULL)error:%d\n",num);}while(*p++){if(*p == ' ')continue;else{*outStr = *p;outStr++;}}return num;}
阅读全文
0 0
- 字符串逆序翻转
- 实现字符串翻转(逆序输出)
- IOS nsarray 逆序翻转
- 链表翻转/逆序
- 实现一个函数翻转字符串(将一个字符串的内容,逆序存储)。
- 实现一个函数翻转字符串(将一个字符串的内容,逆序存储)
- 实现一个函数翻转字符串(将一个字符串的内容,逆序存储)
- .实现一个函数翻转字符串(将一个字符串的内容,逆序存储)。
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- ThingInJava-IO笔记(IO)
- 初学acmer--《算法竞赛经典入门》笔记(九) P52-53
- c语言初步经典题4----求圆柱体的表面积
- 不改变数组原有顺序按序输出数组
- java中多线程以及常见问题总结
- 字符串逆序翻转
- 网站机器和游戏服务器的选择
- Django(1)--blogproject项目创建
- 进程与线程的一个简单解释
- nginx概念与使用
- Leetcode 64. Minimum Path Sum
- 个人微信接入图灵机器人(python版)
- 欢迎使用CSDN-markdown编辑器
- 11. 线性回归