题目内容的 “注意” 已经侧面规定了要用递归来实现:

输入是一个可能含有空格的串说明要用gets来读入字符串,如果利用scanf的话是无法读入一段含有空格的串。

下面先上一般方法:

#include "stdio.h"
#include "string.h"
char *reverse(char *str)
{   if( !str )                     //判断输入字符串是否为空串{   return NULL;                  //若为空串则返回NULL}   int len = strlen(str);  if( len > 1 )   {   char ctemp =str[0];   str[0] = str[len-1];      str[len-1] = '\0';      // 最后一个字符在下次递归时不再处理   reverse(str+1);         // 递归调用   str[len-1] = ctemp;   }   return str;
}
int main()
{char str[100];gets(str);reverse(str);puts(str);return 0;
}

这个char型函数返回字符串的首位,简单的利用字符串首位和尾位交换,得到逆序的字符串。

但是题干只要你输出逆序后的字符串,也就有了更简单的方法:

#include "stdio.h"
void fun(char *x)
{if(*x){                    //若该字符型变量为0(ascii码值为0,不是数字'0')的字符则不进入fun(x+1);          //递归调用printf("%c",*x);   //输出单个字符}
}
int main()
{char str[100];gets(str);fun(str);return 0;
}

这个递归函数是void型函数,递归的作用是,每次读入一个字符串中的字符,先不执行递归中的printf,递归到最后一个字符的后面是0,则结束,从最后一次的递归的printf依次反向执行,从而实现逆序输出的作用。

这个函数很简单,但对于小白来说,来理解这个递归也是比较复杂的。(我写的时候画了个内存图来帮助理解)

第一个递归函数是将字符串逆序处理了,输出要在主函数中输出。

第二个递归函数是在递归中从最后一个字符依次输出字符。

END

2333,第一次写博客,大一刚接触C语言几个月,如果有错误,多谢指出,共同学习才是坠吼的!

C语言简单递归实现字符串逆序输出相关推荐

  1. c语言利用栈将字符串逆序输出,【C语言】利用栈将数组中字符串逆序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include"stdio.h" #include"stdlib.h" #define STACK_INIT_S ...

  2. linux C 学习 简单字符串逆序输出

    看了下网上的字符串逆序输出,都相对复杂,下面给一个简单的字符串逆序输出小程序实现: [cpp] view plaincopy #include <stdio.h> #include < ...

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

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

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

    python实现对指定输入的字符串逆序输出的6种方法 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  python实现对指定输入的字符串逆序输出的6种方法.txt  ...

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

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

  6. 编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略

    编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 目录 字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 ...

  7. 一面微创题--字符串逆序输出

    最近一直在等面试消息,都有点着急了,的确,还有太多不足,笔面之后的一面技术面,幸运地是在三个面试者中面试官留下了我,可是一句话又搞的我一点底都没了:"你别以为你通过了就怎么着,其实你也很菜, ...

  8. 将一个字符串逆序输出

    将输入的一个字符串逆序输出.例如,输入abcde,则输出edcba. 用普通函数和递归函数实现. 普通函数源程序: #include<stdio.h> #include<string ...

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

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

最新文章

  1. linux学习笔记十四:安装SAMBA(Server Message Block)
  2. python工程~多个python文件如何运行
  3. 浏览器标签栏滚动消息提示
  4. java点到直线的投影点到经纬度_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...
  5. python项目-python项目
  6. 面试腾讯我遇到了这题:数组全排列
  7. 深度解析dba_segments和sys.seg$中的细节差异(下)
  8. React Native开发环境搭建记录
  9. HDU-水饺基情 二维树状数组
  10. 408最后计算机网络题库,2021考研计算机统考408专业基础综合题库
  11. leetcode1103. 分糖果 II 该模拟就模拟,别老想着优化
  12. 如何使用Docker Swarm管理更多容器
  13. 简述java对象的封装特点_简述Java面向对象三大特征:封装、继承、多态
  14. 帝国CMS安全设置大全
  15. 年末大盘点 2008十大最受欢迎的装机软件
  16. ios链接xcode跑自动化意外中断?可以用pyautogui试试
  17. PTA L2-039 清点代码库
  18. android 8.0 支付宝,新版支付宝钱包8.0发布(注意!有bug出没)
  19. 什么是CART算法?怎么对CART进行建树?怎么对CART进行减枝叶?CART Python实现代码
  20. pdf怎么压缩到又小又清晰?

热门文章

  1. CSS animation-play-state用法
  2. 单作用叶片泵的结构与工作原理
  3. Specification 参数的用法
  4. Python定时获取外网IP地址并发送邮件
  5. Http Digest 认证
  6. C++蓝桥杯贪心算法
  7. html的表单可以加背景图片,如何装饰表单的背景和字符
  8. 在配有通道的计算机系统中,用户程序需要输出时,引起的中断是,自考计算机系统结构试题_全国2009年7月自考试卷...
  9. Centos7离线安装autoconf
  10. 一分钟学会手工注册BHO