函数结果为什么是012345,是fun套了fun还是说怎么样
4条回答 默认 最新
- 梦幻精灵_cq 2023-06-30 06:33关注
这是函数自调用,就是“闭包”,也就是递归函数。递归函数有一个特性:就是可以保存每一次的递推值,返回阶段取出值。您的打印输出语句在自调用之后,是在返回阶段打印,到0才开始打印,最后返回5。所以是012345。
如果打印输出语句在“闭包调用”之前,第一次闭包调用前k值为5,第二次为4,……。所以是543210。
我仅会python,用python 代码给您演示下。打印输出语句在“闭包”调用之后
python 代码
#!/sur/bin/nve python # coding: utf-8 def fun(k): #print(k) # 打印 if k > 0: fun(k-1) # 自调用。 print(k) # 打印 if __name__ == '__main__': w = 5 fun(w) # 主函数调用。
- 打印输出语句在“闭包”调用之前
- python 代码
#!/sur/bin/nve python # coding: utf-8 def fun(k): print(k) # 打印 if k > 0: fun(k-1) # 自调用。 #print(k) # 打印 if __name__ == '__main__': w = 5 fun(w) # 主函数调用。
您可以点击下面的链接,了解更多闭包调用——
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 delphi indy cookie 有效期
- ¥15 Multisim基本共射放大器设计
- ¥15 labelme打不开怎么办
- ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
- ¥15 免费的电脑视频剪辑类软件如何盈利
- ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
- ¥15 pycharm中导入模块出错
- ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
- ¥15 有关“完美的代价”问题的代码漏洞
- ¥15 请帮我看一下这个简易化学配平器的逻辑有什么问题吗?