什么是函数?
实现某一特定的功能就叫做函数,函数可以没有输入但必须要有输出,没有输出的函数也就没有了意义。
我们为什么要使用函数?
如果我们把所有的功能都写在main函数里面,就会变得很麻烦,很不好维护和调试,如果我们使用函数,就会很好维护和修复。
定义一个函数:
// 函数,就是一个功能模块,这个功能模块实现一定的功能,所以叫做函数
#include"stdio.h"
// 定义一个最简单的函数,这个函数的功能是输出一个字符串
void say_hello()
{
printf("hello\n");
}
// 其实,我们每天写的main也是一个函数,c语言基本的组成是函数
int main()
{
// main函数调用say_hello函数
say_hello();
return 0;
}
编译运行之后,我们就可以看到终端输出hello。
其实我们是可以把main函数放在开头的,但这样需要声明才能使用函数。
定义一个函数的方法:
类型名 函数名()
{
函数体
}
声明一个函数的方法:
类型名 函数名();
// 函数,就是一个功能模块,这个功能模块实现一定的功能,所以叫做函数
#include"stdio.h"
// 定义一个最简单的函数,这个函数的功能是输出一个字符串
//声明函数
void say_hello();
// 其实,我们每天写的main也是一个函数,c语言基本的组成是函数
int main()
{
// main函数调用say_hello函数
say_hello();
return 0;
}
//定义函数
void say_hello()
{
printf("hello\n");
}
如果想要一个函数有传入参数我们需要这样定义:
定义一个函数的方法:
类型名 函数名(形式参数列表)
{
函数体
}
声明一个函数的方法:
类型名 函数名(形式参数列表);
列如:
#include"stdio.h"
//定义形参
int max(int x,int y)
{
if(x>y)
{
//返回x的值
return x;
}
else
{
//返回y的值
return y;
}
}
int main()
{
int a=10,b=5;
int c;
//传入实参a=x,b=y
c=max(a,b);
//c得到max的返回值
printf("max=%d\n",c);
return 0;
}
还有,函数之间可以互相调用
/*
* @Author: error: git config user.name && git config user.email & please set dead value or install git
* @Date: 2022-05-26 13:29:19
* @LastEditors: error: git config user.name && git config user.email & please set dead value or install git
* @LastEditTime: 2022-05-26 15:15:15
* @FilePath: /CIntroduction/function.c
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#include"stdio.h"
int max(int x,int y)
{
if(x>y)
{
return x;
}
else
{
return y;
}
}
int find_max(int a,int b,int c,int d)
{
int find_m;
find_m=max(max(a,b),max(c,d));
return find_m;
}
int main()
{
int a=10,b=5,c=2,d=34;
int find_m;
find_m=find_max(a,b,c,d);
printf("max=%d\n",find_m);
return 0;
}
函数的递归调用:(也就是函数自己调用自己)
#include"stdio.h"
int fun(int a)
{
if(a>0)
{
printf("%d\n",a);
return fun(a-1);
}
else
{
return 0;
}
}
int main()
{
int a=10;
fun(a);
return 0;
}
以上就是关于函数的知识,如果觉得不错,点个赞支持一下,如果有什么疑问可以在评论区留言,如果以上内容有错误,可以在评论区批评指正。