第五章:C语言的函数

       说起函数呀,就让我想起了高中的函数,想想都头疼,一个头俩个大,但是有些同学学起函数,我丢,那就是有手就行呀,老师都给他竖起大拇指,但是老铁们,他们是他们,我们是我们,如果我们基础知识有了学啥都会轻松起来,就像C语言的函数学起来是一样的,基础知识打牢,学起来就有底,对叭。那咱们就正式进入今天的主题---C语言函数。  

      首先C语言函数是什么,怎么使用C语言函数:

d9d54a7021eb4f15819d83904555e637.png

首先

6f0567e587d342ceabd6c129137dc19d.png

其次

f6b342667db44ad1b59e09d3a149e013.png

c4f81c8721454175984e129f5b814d51.png

        咱们上一个简单的代码:(输入两个数,输出最大的数,使用函数)

int max(int x, int y)
{
	int max = 0;
	max = (x > y ? x : y);
	return max;
}

int main()
{
	int a = 0;
	int b = 0;
	printf("请输入两个数:");
	scanf("%d %d", &a, &b);
	int ret = max(a, b);
	printf("最大的数为:%d\n", ret);
	return 0;
}

         其次C语言函数应用:

        ①.函数的嵌套调用

        什么是嵌套呢,在C语言函数的嵌套,大家都喜欢叫套娃,有的时候套着套着自己就绕进去了,384f0ba6d58d4073b1e876c085ed13de.png263494661d6949269e42d806b6be4ae7.png,后期会有一个函数进阶,来正式谈谈函数,我们这里,点到为止,那我们又回来,什么是嵌套,顾名思义就是函数里调用其它函数。话不多说,上代码:

//实现输入三个整数,采用嵌套,利用两个函数,实现由小到大排序

#include<stdio.h>

void max2(int* i,int *j)
{
	int tmp = 0;
	tmp = *i;
	*i = *j;
	*j = tmp;
}

void max1(int *x, int *y, int *z) 
{
	if (x > y)
	{
		max2(x, y);
	}

	if (x > z)
	{
		max2(x, z);
	}

	if (y > z)
	{
		max2(y, z);
	}
}

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	printf("请输入三个整数:\n");
	scanf("%d %d %d", &a, &b, &c);

	max1(&a, &b, &c); //传入三个数的地址

	printf("%d %d %d", a, b, c); //打印

	return 0;
}

       5908f2c3431d4e04bc4bd351ecc24a64.png

②.函数的递归调用

 谈起递归,递归是直接或间接地调用函数本身

//打印1234 --> 1 2 3 4

#include<stdio.h>
int print(int a)
{

	if (a > 9)
	{
		print(a / 10);  //递归实现
	}

	printf("%d ", a % 10);

}

int main()
{
	int a = 1234;

	print(a);

	return 0;
}

3ee08b99985543b99f191386cd52aab0.png

       注意递归会消耗大量的内存,不建议用,能用循环就尽量使用循环

       不知不觉就到了尾声呢,咱们第五章的知识点就到这里了啦,作为小白的我,可能写的不是很好,不对的地方还请大佬大佬指点指点。cddb8922b7734dba9991d403b0febdae.pngf2f70223c0af4e3cb0cd14905a0b1bc9.png

猜你喜欢

转载自blog.csdn.net/AAlykk/article/details/130141915