m0_47428395 2022-10-12 09:40 采纳率: 100%
浏览 111
已结题

利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

8.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
网上一个网友的回复,我试过可运行,详见以下代码。以下代码我个人有三个疑问,请大家帮忙解答。
1)n为什么是1的时候,就代表获取的是最后一个字符呢?n和字符输入之间是通过什么联系起来的。
2)这里n<=1条件,不会出现死循环吗?n可以是0、-1……
3)这里char自动转换成int,为什么字符也可以转换成int?
#include<stdio.h>
int main()
{
int n=5; //这里n是字母的个数,也可以通过键盘输入
reverse(n);
return 0;
}

void reverse(int n)
{
int next;
if(n<=1)
{
next=getchar();
putchar(next);
}
else
{
next=getchar();
reverse(n-1);
putchar(next);
}
}

  • 写回答

4条回答 默认 最新

  • fuill 2022-10-12 15:21
    关注

    可以看一下这个

    img


    是递归完了才逐个输出的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月12日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度