1.每个函数都要有自己的参数(变量),主函数的参数叫做实参,我们定义的函数的参数叫做形参,因此要注意定义函数时变量的定义。
函数类型 函数名(类型 变量1,…,类型 变量n)
{
声明部分
语句
}
此为定义一个新函数的一般形式。
2.一般地,在主调函数中,调用其他函数的一般形式为:被调函数名(实参1,…,实参n)
注:在调用函数时,是将实参的值传递给形参,而且是自左至右逐个的传递。
#include <stdio.h>
int max(int x, int y)
{
……
}
int main()
{
int a=3, b=5, c;
c= max(a, b);
printf(”c=%d”,c);
return 0;
}
其实,这段代码有个问题,就是在调用函数时实参的值一定要是一个确定的数值,因此,希望大家以后多注意。但是,此段代码还是可以看出我说明的“实参的值传递给形参”的。
3.其实,还有一个要注意的点就是:我们在定义一个函数时尽量在主函数前定义,否则,我们就要在主函数中在对下面定义的函数进行声明后才能用,十分麻烦。
4.重点来了:递归调用
递归调用可以看成是一种特殊的嵌套调用,特殊在所有被调函数都是同一函数
例:将一个数字倒序输出
#include <stdio.h>
void f(int n)
{
printf("%d ",n%10);
if(n>=10)
f(n/10);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
此程序完美利用了递归调用的特性,一个一个位输出(我特意加了一个空格)。
递归就是将一个大问题找出规律,并连续调用函数的过程。