递归函数

小杰R 2019-09-06 11:09:00
C语言怎么用递归函数列出1到N个数
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2019-09-06
  • 打赏
  • 举报
回复
#pragma warning(disable:4996) //开头加这句或项目、属性、配置属性、C/C++、预处理器、预处理器定义中添加“_CRT_SECURE_NO_WARNINGS”
#include <stdio.h>
void List(int n) {
    if (n<=1) {
        printf("%d ",1);
        return;
    }
    List(n-1);
    printf("%d ",n);
}
int main() {
    int N;
    scanf("%d",&N);
    List(N);
    return 0;
}
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门! 递归函数关注以下几个因素 ·退出条件 ·参数有哪些 ·返回值是什么 ·局部变量有哪些 ·全局变量有哪些 ·何时输出 ·会不会导致堆栈溢出
小杰R 2019-09-06
  • 打赏
  • 举报
回复
引用 3 楼 wowpH的回复:
void List(int n) 是一个函数,List(n - 1) 和 List(N) 相当于调用了这个函数。

printf("%d", n) 输出 n 的值。

你还是先看书吧,靠这样问,估计得累死。
好的,谢谢了,知道了
uouo88 2019-09-06
  • 打赏
  • 举报
回复
引用 楼主 qq_45614332 的回复:
C语言怎么用递归函数列出1到N个数


递归函数简单理解就是:函数自己调用自己,但是为了不形成无限往复的死循环,通常来说会有一个递归的退出条件,这个条件就貌似二楼代码里面的 if (n<=1)
wowpH 2019-09-06
  • 打赏
  • 举报
回复
void List(int n) 是一个函数,List(n - 1) 和 List(N) 相当于调用了这个函数。

printf("%d", n) 输出 n 的值。

你还是先看书吧,靠这样问,估计得累死。
小杰R 2019-09-06
  • 打赏
  • 举报
回复
谢谢谢谢,这个我是刚学,还想问一下 List(n-1);     printf("%d ",n);这个什么意思,体现出的作用是什么? 还有那个第二部分的List(N)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧