说起函数呀,就让我想起了高中的函数,想想都头疼,一个头俩个大,但是有些同学学起函数,我丢,那就是有手就行呀,老师都给他竖起大拇指,但是老铁们,他们是他们,我们是我们,如果我们基础知识有了学啥都会轻松起来,就像C语言的函数学起来是一样的,基础知识打牢,学起来就有底,对叭。那咱们就正式进入今天的主题---C语言函数。
首先C语言函数是什么,怎么使用C语言函数:
首先
其次
咱们上一个简单的代码:(输入两个数,输出最大的数,使用函数)
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语言函数的嵌套,大家都喜欢叫套娃,有的时候套着套着自己就绕进去了,后期会有一个函数进阶,来正式谈谈函数,我们这里,点到为止,那我们又回来,什么是嵌套,顾名思义就是函数里调用其它函数。话不多说,上代码:
//实现输入三个整数,采用嵌套,利用两个函数,实现由小到大排序 #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; }
②.函数的递归调用
谈起递归,递归是直接或间接地调用函数本身
//打印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; }
注意递归会消耗大量的内存,不建议用,能用循环就尽量使用循环
不知不觉就到了尾声呢,咱们第五章的知识点就到这里了啦,作为小白的我,可能写的不是很好,不对的地方还请大佬大佬指点指点。