库函数;C语言事先定义好的函数
自定义函数;自己定义
函数的定义:函数是由, 函数类型 函数名 函数参数 返回值 组成的
重点讲自定义函数,以下代码都是自定义函数
传值函数 形参实参互不影响
传值函数例子;比较两个数大小
#includeint get_max(int x,int y) //形参 只在函数中有效 int z=0; if(x>y) z=x; else z=y; return z; } int main() { int a=10; int b=20; int max = get_mxa(a,b); //自定义函数 printf("max=%d",max); //实参 得有确定的参数 }
传址函数 形参实参公用一个地址 函数内可以改变函数外 用传址
传值函数例子:交换两个数
#includevoid swap(int*pa , int*pb) { int z = 0; z = *pa; *pa = *pb; *pb = z; } int main() { int a = 10; int b = 20; printf("a=%d b=%dn", a,b); swap(&a,&b); //自定义函数 printf("a=%d b=%d", a, b); return 0; }
函数的嵌套==套娃
链式访问:把一个函数的返回值变为另一个函数的参数
void函数类型表示可以不写返回值
函数递归
函数递归:直接或者间接调用自身的一种方法
递归的必要条件
1.存在限制条件,当满足这个限制条件的时候,递归便不再继续
2.每次递归调用之后越来越接近这个条件。
要做到:大事化小,小事化了
例子:打印输入的数
void print(unsigned int b)
{
if (b > 9)
{
print(b / 10);
}
printf("%d", b % 10);
}
int main()
{
unsigned int a = 0;
scanf("%d",&a);
print(a);
return 0;
}
函数递归:直接或者间接调用自身的一种方法
递归的必要条件
1.存在限制条件,当满足这个限制条件的时候,递归便不再继续
2.每次递归调用之后越来越接近这个条件。
要做到:大事化小,小事化了



