#include <iostream>
using namespace std;
int main() {
long fact(int n){
if(n==1)
return 1;
return fact(n-1)*n
}
}
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
递归的条件不知为啥出错了?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
6条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
追cium 2023-03-18 23:37关注参考GPT和自己的思路:
您的代码存在几个问题:
1.将函数定义放在了main函数中,应该将其放在main函数外部。
2.在递归函数中,应该在递归的结束条件处返回结果(即n==1时返回1),而不是在递归的过程中返回1。
3.在递归返回时,应该将递归结果乘以n,而不是将n与递归结果相乘。下面是更正过的代码:
#include <iostream> using namespace std; long fact(int n){ if(n==1) return 1; return fact(n-1)*n; } int main() { cout << fact(5) << endl; return 0; }
这个函数将会计算5的阶乘并输出结果。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-12-24 12:11回答 2 已采纳 其中fib(n-1) + fib(n-2)中的fib(n-1), fib(n-2)计算顺序是依赖编译器实现的,因为C语言没有规定操作数的计算顺序 +---> fib(2) "1
- 2023-04-14 08:03回答 2 已采纳 出现编译错误的原因是因为函数模板 ShowList 中的参数包使用了左值引用(T& val),但是在模板函数调用时传递了右值参数(比如字面量),这些右值是无法绑定到左值引用上的。为了解决这个问题,可以
- 2023-02-26 10:40回答 4 已采纳 main打错了,你这成了mian
- 2020-10-08 06:01Python 学习者的博客 学习任何计算机语言过程中,“递归”一直是所有人心中的疼。不知你是否听过这个冷笑话:“一个面包,走着走着饿了,于是就把自己吃了”。 常理推断,特别是解释型语言,当程序执行函数内部的语句时,这个函数还没有...
- 2017-11-23 20:20回答 8 已采纳 如果报的是栈溢出就没什么好奇怪的哈,递归次数过多,虚拟机一直执行压栈操作,很快栈内存就不足了,你可以把线程的栈内存空间分配大点
- 2022-09-26 11:57回答 4 已采纳 树的递归和文件夹类似,一个文件夹下面,有文件夹和文件,没打开一层,都是一个形式。树也是一样,每个树根下面,都是叶子、左子树和右子树。所以,我们只需要考虑计算某个跟节点下面的叶子数据,然后递归调用左子树
- 2016-11-05 21:04回答 2 已采纳 递归说到底是函数自己调用自己并且是嵌套调用,只要是调用,总有返回的时候,也就是被调函数结束返回上一级(调用函数)继续执行。 在这里,函数调用自己时,传递的参数是值传递,被调函数并不会改变调用函数中的
- 2022-04-08 11:22sehun_sx的博客 学习任何计算机语言过程中,“递归”一直是所有人心中的疼。不知你是否听过这个冷笑话:“一个面包,走着走着饿了,于是就把自己吃了”。 常理推断,特别是解释型语言,当程序执行函数内部的语句时,这个函数还没有...
- 2022-03-14 05:20回答 4 已采纳 3ms和1ms只差了2毫秒,估计你多运行几遍递归,也会出现3ms的时候
- 2022-06-26 01:16回答 2 已采纳 r(6): 6 + r(5) 5 + r(4) 4 + r(3) 3 + r(2)
- 2022-03-21 04:10回答 1 已采纳 #include <stdio.h> int func(int n) { if (n) return n + func(n - 1); else return 0
- 2017-02-16 08:53knowthyselfcn的博客 我一直认为,对于编程语言、编译器的学习,是程序员的基本功,是无论工作了多少年,都需要不断深入下去的。关于研究历史的重要性,相信这是不言而喻的。以史为镜,可以知兴替。如果我们想要预见数学的将来,适当的...
- 2021-01-26 00:22码农王同学的博客 为啥和其它学校的同学就不行? 别看现在这个东西在我看来是常识,但我那时候是一点计网知识都没,就是硬着头皮学的 Socket 编程,去理解 IP 和 Port。 那是怎么解决的呢? 当然是找谷歌呀! 在网上一番查询后,大概...
- 2019-08-08 22:20CGGAO的博客 本文摘自《松本行弘:编程语言的设计与实现》 1-1 自己创造编程语言的意义 通过实际创造一门新的编程语言,可以学到编程语言的设计思路和实现方法。随着开源的普及,创造新编程语言的门槛一下子降低了许多。创造...
- 2022-06-03 12:41机载软件与适航的博客 Google 因此发布了这份自己的编程风格指南, 使所有提交代码的人都能获知 Google 的编程风格.翻译初衷:我们翻译时也是尽力保持严谨, 但水平所限, bug 在所难免. 有任何意见或建议, 可与我们取得联系.中文版和英文版...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司