前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言:函数的嵌套与递归

C语言:函数的嵌套与递归

作者头像
岳泽以
发布2022-10-26 16:07:14
8300
发布2022-10-26 16:07:14
举报
文章被收录于专栏:岳泽以博客

函数的嵌套

在C语言中,所有函数都是相互平行,且相互独立的。在定义函数时,一个函数内不能再定义另一个函数,不能嵌套定义,但是可以嵌套使用。

例:编写一个求四个整数中最小值的函数,并在主函数进行调用。

代码语言:javascript
复制
#include<stdio.h>
int main(){
    int min4(int a,int b,int c,int d);
    int a=3,b=4,c=1,d=6;
    printf("min=%d",min4(a,b,c,d));
    return 0;
} 
int min4(int a,int b,int c,int d){
    int min(int a,int b);
    int m=a;
    m=min(m,b);
    m=min(m,c);
    m=min(m,d);
    return m;
}
int min(int a,int b){
    return a>b?b:a;
}

函数的递归--->循环

在函数的调用过程中,出现一个函数调用自己本身的情况,就是在运行的过程中调用自己。

函数的递归有两个必要条件:

  1. 函数的出口,不能无限制地调用本身,须有个出口,化简为非递归状况处理。
  2. 递推公式。(偷懒)

递归的理解方法:

例如:求1+2+3+4+...+100

代码语言:javascript
复制
#include<stdio.h>
int main(){
    int sum(int n);
    printf("%d",sum(100));
    return 0;
}
int sum(int n){
    if(n==1){
        return 1;
    }else{
        return sum(n-1)+n;
    }
}

更多的关于函数递归的例题请见下一篇

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数的嵌套
  • 函数的递归--->循环
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档