在编程过程中我们有时会频繁使用同一种运算顺序、方式等,直接重复编写会让代码冗长而且费时费力。而函数就是一种简化这个过程的功能,函数大致有两种:一是头文件中自带的各种函数(库函数),如printf scanf 等都属于函数,通常十分好用编译速度也很快可称为最优代码;二则是程序员自己定义的函数可以实现一些自定义的功能。
自定义函数结构为 类型名(返回类型)+函数名+形式参数列表+函数主体(实现功能的重要部分)
函数的返回和调用:
#include <stdio.h>
int max(int x,int y)
{
int z;
z=(x>y)?x:y;
return z;
}//此前为定义取大函数
int main()
{
int a,b,c;
scanf("%d %d",&a,&b);
c=max(a,b);/*函数运行到此处时,会跳到上方函数定义处运行max函数,此时a,b的值分别传给x,y 当max函数得到结果z后将z的值传给max函数,之后函数继续在此处运行max函数将z值赋给c*/
printf("%d",c);
return 0;
}
返回类型:当函数的返回类型为int时函数里的其他类型会强制转换为int,即若上述z为float类型最后得到的结果仍然是int
函数名:自定义,一般用相关英文表示方便看懂
形式参数:上述例子中x,y就是形式参数,仅仅占了位置,他们的值取决于实际参数(a,b为实参)传递的值
函数主体:在函数参数列表后加上{}并在其内编写需要实现的功能对应的代码
函数的声明:若在函数定义式子前加上static则表示该函数是该文件的内部函数无法在同一个项目里的其他文件内调用;若定义式子前加上extern则表示为外部函数可以在别的文件夹调用,且不加static视为外部函数
另外函数可以嵌套使用如比较a,b,c的大小可以这样用M=max(max(a,b),c)