【C 语言】简单的 printf 递归
距离上次更新本文已经过去了 693 天,文章部分内容可能已经过时,请注意甄别
简单的 Print 递归
说句题外话,很多时候单词我是认识的,但是如果它全大写了,我总要反应老一会才能想出来它的意思
有和我一样的人吗?
今天的 c 语言课讲到了一道非常经典的递归题目
代码如下:
c
1 |
|
结果如下
运行顺序
谈到递归的时候,最重要的就是要弄明白它究竟是怎么运行的
老师上课讲的方法非常直观的表示了它的运算顺序
这里我用粘贴代码块的方式来展示
刚开始执行的是 scanf 输入,这里不再赘述
c
1 | void Print(int n) |
这一块是我们递归的主体
c
1 | void Print(int n) |
看起来可能有点乱,在这基础上加上一些箭头就会清晰了
起初我的想法是,在进行 if 判断之后,会先执行下面的 printf,即先打印最后一位数 8,再向前打印
实际上,if 语句后的 Print 函数的嵌套调用是在下一行 printf 之前的、
也就是说它需要像图中这样完全调用完,直到 if 判断为假后,才会从后往前运行 printf 语句
这才有了最开始我贴的结果
程序依次打印了每一位的数字
如果这篇博客对你有帮助,还请点赞收藏支持一下!万分感谢!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 慕雪的寒舍!
评论
表情图片预览
0 条评论
- 最新
- 最热
- 最早
- 作者
关闭评论
通知中心
「此时无声胜有声」
Artalk ErrorTypeError: Failed to fetch,无法获取评论列表数据
点击重新获取 | 打开控制台
点击重新获取 | 打开控制台