favor862 2022-05-06 07:59 采纳率: 100%
浏览 46
已结题

c语言递归运算求阶乘问题

我疑惑的是if(n==0||n==1)
k=1;执行到这里的时候k不就该等于1了吗?就直接跳出来了,为什么得出来的结果仍然是n的阶乘呢?不说了上图,求学霸指点

img

  • 写回答

2条回答 默认 最新

  • 心随而动 人工智能领域新星创作者 2022-05-06 09:12
    关注

    你没理解递归的含义,递归是从开始到最后执行函数,但是结果是从后往前算,最后k等于1的时候,算的是fac(1)然后就会继续算fac(2)以此类推,直到算到n,这就是迭代,你把迭代和的意思没有理解清楚。如果还是不理解的话,可以私聊我,我给你讲)

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

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月6日

悬赏问题

  • ¥20 怎么用stm32做大棚温度光照信息采集发布系统?
  • ¥15 3DTiles数据转换
  • ¥15 c++代码数据结构理解含义
  • ¥15 anaconda相关启动程序问题
  • ¥15 关于#hyperledger#的问题,如何解决?
  • ¥30 使用opencv中的solvePnPRansac计算相机位姿后,误差较大
  • ¥15 串口控制LED灯驱动板设计
  • ¥15 如何在unity场景里做到通过按钮实现模型替换
  • ¥15 uniapp的websocket和c++的websocket服务器通讯 发送的数据和接受的数据表现形式不一样
  • ¥15 pyspark配置中的错误