函数的定义
返回类型 函数名称(参数1,参数2,....) 函数头/函数首部 //先定义,后使用
{
函数体;
}
如:求较大数
int max(int x, int y) //接收两个整型参数,并返回一个整型数据,若为void,则不需要参数
{
int z;
z = x > y ? x : y;
return z;
}
切记:函数不允许嵌套定义
函数的分类
-
函数实现的角度:
库函数:C语言标准库实现并提供使用的函数,比如常见的有
printf(),scanf()
自定义函数:需要程序员自行实现,开发中大部分都是这样的函数
-
函数形式的角度:
无参函数:函数调用时,无需传参,可配可不配返回值。
有参函数:函数调用时,需要参数传递数据,经常需要配套返回值使用
//此时main为主调函数,且main只能作为主调函数
int main()
{
//此时printf为被调函数
printf("hello world!");
return 0;
}
函数的返回值
-
每个函数都有
return
,若不需要可以省略; -
一个函数中可以有多个
return
,但任意时刻只有一个return
,被执行; -
返回时,实际返回类型若与指定返回类型不一致,则按照指定返回类型为准;
-
return
一次只能返回一个数,若要返回数组,则如下(字符最好以字符数组形式输出):
for(int i = 0; i < m; i++)
{
printf("%c", a[i]);
}
printf("\n");
将这一部分放入被调函数中。
函数的声明
函数往往需要先定义后调用,但防止函数调用关系复杂(被调函数在前主调函数在后,有时难以区分),则直接先声明,后续可以实现无序定义与使用,如:
// 在函数调用之前,声明函数
int add(int x,int y); //函数首部加上分号
int main()
{
int c = add(12,13);
printf("%d\n",c);
}
int add(int x,int y)
{
return x + y;
}