前言

  • 逆序输出字符串最可能先想到的是遍历时用栈保存字符,最后出栈。既然栈可以实现,那我们也可以用递归的方法来实现,并且一定会比较简单。
  • 除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。

一、简单递归实现

void fun(char *s)
{if(*s!='\0') // 递归终止条件{fun(s+1); // 注意这里是先递归再输出,这样就可以从后面开始逆序输出printf("%c",*s);    }
}
int main(int argc, char *argv[]) {char s[20];gets(s); printf("原始字符串:%s\n",s);printf("逆序输出字符串");fun(s);return 0;
}

运行结果

二、 原地逆置实现

void revstr(char *s)
{if(s!=NULL){char *result = s; //保存字符串首地址,便于输出 int len = strlen(s);  char *r = s+len-1; // 定位到最后一个字符 char temp;while(r>s)  // 两个指针相向而行 {temp = *s;*s = *r;*r = temp;s++;r--;}printf("%s",result);}
}
int main(int argc, char *argv[]) {char s[20];gets(s); printf("原始字符串:%s\n",s);printf("逆序输出字符串");revstr(s);return 0;
}

C语言 逆序输出字符串相关推荐

  1. C语言逆序输出字符串

    C语言逆序输出字符串 #include<stdio.h> #include<string.h> int main() {char str[100];gets(str);int ...

  2. C语言——逆序输出字符串的函数实现

    若要实现字符串的逆序输出操作,可以有两种方法实现:                                 1.函数迭代法        2.函数递归法. 一.函数迭代法 代码如下: int ...

  3. c语言逆序输出字符串指针,菜鸟求助-如何用指针法将一串字符按单词的倒序输出?如:i love yo...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include void fun (char *ch1, char *ch2) { int i, n(0), k; int lengt ...

  4. C语言经典例27-利用递归逆序输出字符串

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 2 分析 从递归程序设计三大要素角度来分析: 该递归程序的目的:逆序输出字符 ...

  5. Python逆序输出字符串

    逆序输出字符串 方法一 思路 定义一个字符串,求出长度num 使用for循环从最后一个往前取值并输出 end=' ' 作用:避免换行 代码 str = "i am a student&quo ...

  6. ACMNO.21 C语言-逆序输出 输入10个数字,然后逆序输出。 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0

    题目描述 输入10个数字,然后逆序输出. 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0 样例输出 0 9 8 7 6 5 4 3 2 1 提示 数组?堆栈 ...

  7. python逆序输出字符串_python实现对指定输入的字符串逆序输出的6种方法

    编写一个Python程序,提示用户输入一个字符串,程按照你的要分享编写的逆序显示字符串的Python3程序如下 s = input("请输入一个字符串:")print(s[::-1 ...

  8. python逆序输出字符串_python实现对指定输入的字符串逆序输出的方法

    这篇文章主要介绍了python实现对指定输入的字符串逆序输出的6种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作 ...

  9. 使用递归方法进行逆序输出字符串

    递归思想实现逆序输出: 反复调用函数直到找到最后一个字符,然后逐层输出该字符的前一个字符,输出上便形成了逆序效果~ #include <stdio.h>void Reverse(char* ...

最新文章

  1. boost::fusion::push_front用法的测试程序
  2. caffe随记(八)---使用caffe训练FCN的pascalcontext-fcn32s模型(pascal-context数据集)
  3. Master选举原理
  4. java socket 通信协议_java网络通信(基于TCP协议可靠通信的socket编程)
  5. Jquery的一些方法
  6. win7系统任务管理器被禁用怎么解决
  7. sprintf函数实现_从Go结构成员的升格到面向对象类的实现
  8. 线性同余法求伪随机数序列
  9. 研究生教育学科专业目录(2022年)与研究生教育学科专业目录管理办法
  10. 如何关闭Windows 1011自动更新
  11. 觅伊、Soul,这些社交软件是怎么火起来的?
  12. 【将列表中的每个数据转换成倒数 np.reciprocal()】
  13. numpy操作技巧二三事
  14. NOIP2014 Day1T1生活大爆炸版石头剪刀布 模拟
  15. 听歌识曲算法技术[语音识别]
  16. 牛客网数据库SQL实战44—— 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
  17. 五大常用算法——动态规划算法详解及经典例题
  18. 事件分发(二)ViewGroup和View对触摸事件的分发流程
  19. Java 套接字(Socket)
  20. nginx公网IP无法访问浏览器

热门文章

  1. ubuntu系统修改用户权限
  2. opencv识别彩色二维码
  3. 解决FF浏览器和IE下载文件乱码问题
  4. Stable Diffusion实操示例
  5. 用c语言输出杨辉三角形
  6. bonjour browser 下载
  7. c语言中 伪指令,ARM汇编伪指令介绍(1)
  8. 解决phpcms搜索搜不到内容的问题
  9. 梦幻西游人物局部换色补完
  10. kali Linux中文设置问题解决方案