编写一个函数 reverse_string(char * string)将参数字符串中的字符反向排列,不是逆序打印。

要求:不能使用C函数库中的字符串操作函数。

比如:char arr[] = "abcdef"; 逆序之后数组的内容变成:fedcba

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void reverse_string(char* string)
{int len = strlen(string);int left = 0;//左下标int right = len - 1;//右下标//printf("%c\n", string[left]);while (left < right){//交换第一项和最后一项char tmp = string[left];string[left] = string[right];string[right] = tmp;//交换第二项和倒数第二项,以此类推left++;right--;}
}
int main()
{char arr[] = "abcdef";reverse_string(arr);printf("%s\n", arr);return 0;
}

递归实现

// 递归方式:
//对于字符串“abcdefg”,递归实现的大概原理:
//1. 交换a和g,
//2. 以递归的方式逆置源字符串的剩余部分,剩余部分可以看成一个有效的字符串,再以类似的方式逆置
//* /
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void reverse_string(char* arr)
{int len = strlen(arr);//计算字符串长度char tmp = *arr;//第一个元素*arr = *(arr + len - 1);//把最后一个元素放到第一个元素的位置*(arr + len - 1) = '\0';//最后一个元素置0,字符串长度-1if (strlen(arr + 1) >= 2)//元素个数大于等于2,以递归的方式逆置源字符串的剩余部分reverse_string(arr + 1);*(arr + len - 1) = tmp;//第一个元素放到最后一个元素的位置
}
int main()
{char arr[] = "abcdef";reverse_string(arr);printf("%s\n", arr);return 0;
}

字符串逆序(C语言)相关推荐

  1. c语言对字符串逆序,【C语言】 字符串逆序

    [C语言] 字符串逆序 字符串逆序有多种办法,下面我们分方法而论: // 非递归实现字符串反转: char *reverse(char *str) { if( !str ) { return NULL ...

  2. C语言简单递归实现字符串逆序输出

    题目内容的 "注意" 已经侧面规定了要用递归来实现: 输入是一个可能含有空格的串说明要用gets来读入字符串,如果利用scanf的话是无法读入一段含有空格的串. 下面先上一般方法: ...

  3. 【C语言刷题】字符串逆序

    目录 一.字符串逆序(基础题) 1.一个经典的错误,标准的零分 2.采用gets函数来修补漏洞 3.非要使用scanf怎么办? 4.使用指针来实现逆序函数 5.将函数修改为,只要传入两个地址,就能逆序 ...

  4. [C语言指针练习二]字符串逆序,使用指针,写一个函数,可以逆序字符串的内容。

    指针练习题2 题目:字符串逆序 内容与要求:使用指针,写一个函数,可以逆序一个字符串的内容. 举例: 输入: I Love You. 输出: .uoY evoL I   输入: abc 输出: cba ...

  5. 使用C语言实现字符串逆序操作

    这篇文章主要介绍了使用C语言实现字符串逆序操作案例,本文包含使用C语言的两种方法去实现,递归和非递归,以下就是详细内容,需要的朋友可以参考下 编写一个函数 reverse_string(char * ...

  6. c语言指针字符串逆序存放,C语言指针实现字符串的反转

    题目要求: 编写程序:从键盘任意输入一个字符串,输出该字符串. 然后,将该字符串逆序存放后再输出,要求用字符指针完成. 代码: //解法一 #include #include int main() { ...

  7. c语言实现单链表逆序算法,C语言解字符串逆序和单向链表逆序问题的代码示例...

    字符串逆序上次面试碰到一个单向链表逆序的题目,幸好对字符串逆序比较熟悉,类比做出来了.字符串逆序比较简单,直接上代码: void stringReverse(char* p1,char* p2) { ...

  8. 【C语言】实现字符串逆序输出(包含空格的字符串)

    [1]目的:实现字符串的逆序输出,比如I believe you.变为you. believe I的形式. [2]基本思路:这里我们先创建一个可以实现逆序打印的函数,将字符串逆序变为.uoy evei ...

  9. C语言/关于字符串逆序存储

    关于字符串逆序存储问题,本文主要介绍了两种方法:1.递归 2.非递归 递归: 先利用my_strlen()函数求出所求字符串长度,字符串长度保存在变量len中(不含字符串'\0')(也可以直接使用库函 ...

  10. C语言——字符串逆序输出

    [问题描述]将输入的字符串逆序输出 [输入形式]要求输入一个字符串 [输出形式]逆序后输出 [样例输入]abcd [样例输出]dcba #include <stdio.h> #includ ...

最新文章

  1. GCC 链接 xxx:No such file or directory 及运行可执行文件 error while loading shared libraries: xxx.so 解决方案
  2. 数据结构源码笔记(C语言):二分查找
  3. python爬取小说写入txt_对新笔趣阁小说进行爬取,保存和下载!这就是Python的魅力...
  4. mysql某一列之前加一个球_MySQL作业:三色球,概率题,子查询【诗书画唱】
  5. 按之字形顺序打印二叉树
  6. python getopt.getopt_python 参数格式化getopt
  7. Python适合自己的IDE才是最好的IDE
  8. java运行python3_Python3:如何从python运行java类文件
  9. 红帽RHCA考试内容解析
  10. springboot整合lua脚本
  11. RapidShare 真实链接抓取助手
  12. php获取steam装备信息,api – 获取某人的Steam库存
  13. tps在区块链是什么意思_超百万的TPS拯救不了区块链技术,区块链还差什么?
  14. 泥瓦匠这几年 Java ...
  15. 视觉技术再赋能,深眸科技一体化解决方案引领工业视觉机器人落地应用
  16. Bose700降噪体验
  17. UE4的.pak文件的加密和签名
  18. 5G无人机,到底有什么特别?
  19. 数据资源丨原始数据哪里找?这些网站要用好!(建议收藏)
  20. 一秒钟看懂SaaS、CRM、OA、ERP、HR、进销存

热门文章

  1. 【量化分析】用mplfinance显示交易图时,处理 Expect data.index as DatetimeIndex?
  2. 车到加油CEO肖广:以“新零售”模式助力加油站回归服务本质
  3. 电脑重装系统后一直显示请稍等怎么办?
  4. FaceApp一夜爆红引争议,这些AI黑科技都来了!
  5. 【数字图像处理3】(下) 使用Python+OpenCV+EDSR模型,实现超分辨率重建(SR)
  6. 服务器实战部署安全策略
  7. L2-028 秀恩爱分得快(异或+暴力)
  8. 元宇宙邮局AI航天主题系列数字藏品 将于7月30日10:00点上线“元邮数藏”
  9. python if return语句_Python: return语句
  10. 利用rt-thread系统spi设备驱动w25q