轻松学懂C语言函数(函数声明、定义、调用、递归)函数基础知识(图文详解)

·了解模块化程序设计的思想

·掌握函数定义、调用基本方法

·实现简单递归程序、理解调用过程

学C语言的小伙伴可能比较难理解的就是基础函数了,下面给大家用很简单易懂且详细的方式向大家展示了函数的定义、调用、递归函数到底是怎么在运作的。

一、函数的定义

二、函数的调用

判断三位数以内的所有质数并以每行5个的形式输出:

如下的这种函数调用方式一般是没有返回值(void):

三、递归函数

每次调用的形参名字都一样(n),但是占用的存储空间不同,因此不会造成冲突。随着“归”的进行,最后一次函数调用的相关首先出栈,每一层返回时,该层压入堆栈的信息出栈,直至栈空。因此,递归函数必须有明确的终止条件,否则将一直“递”下去,不断占用栈的空间,从而造成系统栈空间耗尽,产生“栈溢出”(Stack Overflow)的错误。

其实你也可以理解为递归函数就是不断向下套娃,直到有一个满足条件让他停下,而这个停止条件也是不能缺少的。

#include<stdio.h>
void MultiBase(int n,int B);
int main()
{
    int n,B;
    do
    {
        scanf("%d%d",&n,&B);
    } while (n<=0||B<=1||B>16);  //输入正确则跳出while循环
    printf("change result:\n");
    MultiBase(n,B);         //调用递归函数
    printf("\n");
    return 0;
    
}

void MultiBase(int n,int B)
{
    int m;
    if(n)       //如果n为真,开始递归调用n!=0
    {
        MultiBase(n/B,B);       //递归时第一个参数变化
        m=n%B;      //求本层余数
        if(m<10)        //余数〈10则原样输出
            printf("%d",m);
        else
            printf("%c",m+55);  //余数>10输出字符 ABCDEF --》10,11,12,13,14,15
    }
}

大家可以仔细去理解一下上面的内容会发现C语言基础函数是如此简单~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ApLinuxor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值