嵌套调用和链式反应

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本次我来介绍一下关于函数的嵌套调用和链式反应


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是嵌套调用和链式反应

1.1嵌套调用

嵌套调用其实就是函数之间的互相调用,每个函数就像一个乐高零件,多个乐高零件才能拼凑其一个大的乐高玩具,因此多个函数的相互调用才能得到一个相对大型的函数。

1.2链式反应

在C语言中,链式反应通常指的是链表(linked list)数据结构的使用。链表是一种动态数据结构,它由一系列节点(node)组成,每个节点包含一个数据元素和一个指向下一个节点的指针。

在链表中,每个节点都有一个指向下一个节点的指针,这个指针可以用来连接各个节点。

二、嵌套调用

1.用处

嵌套调用可以应用到地方还是比较多的,比如,判断某一年某一个月份的天数,就可以用到嵌套调用,我们可以创立两个函数,

is_leap_year():用于判断某一年是否是闰年。

get_days_of_month():用于判断某一个月份的天数,

2.某年某月天数代码

#include<stdio.h>

int Leap_year(int y) {
	if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
		return 1;      //如果是闰年,返回1
	}
	else 
		return 0;    //不是,返回0
}

int data_year_month(int y, int m) {
	int arr[13] = {0,31,28,3, 30,31,30,31,31,30,31,30,31};
	int i = m;
	if (i == 2&&Leap_year(y)) {   //返回1的话,就是符合条件。
		arr[i]=arr[i]+1;          //然后是闰年,所以加2
		}
	
	return arr[i];        //最后,返回arr[i];
	
}

int main()
{
	int year, month;
	printf("%d年%d月天数为多少");
	scanf_s("%d%d", &year, &month);
	int days=data_year_month(year, month);  //进入data_year_month函数去判断某一年某一个月的天数。
	printf("%d年%d月天数为%d", year, month, days);
	return 0;
}

 上面,我们便通过建立两个函数来实现天数的求解。

 三.链式反应

我们先来给出一个代码:

#include<stdio.h>
int main()
{
printf("%d",printf("%d",printf("%d",43)))
return 0;
}

大家首先来看一下这个代码,你感觉他会输出什么?

我第一次感觉他肯定会输出43,但肯定没有那么简单。

现在我们来看一下会输出什么结果:

结果是,他会输出4321。

这是因为第一个printf会打印43,但是第二个不会,他会打印43这个数的大小,所以接下来输出2,然后打印2的大小,再输出1.


总结

这次我们简单介绍了一下关于嵌套函数及链式反应的相关知识,希望对大家能有一些帮助。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值