概念
C语言中的函数就是完成某一项特定的任务的一小段代码。一个很大的计算机编程代码可以分成很多个函数,可以提高公司的效率。
库函数
C语言是一种和计算机交流的语言,和英语一样,有语法规则,C语言的国际标准就规定了一些常用的函数标准,叫做标准库,编译器厂家根据这些标准给出了一系列函数的实现,叫做库函数。
如;printf这个库函数表示输出,但是需要有头文件,就是#include<stdio.h>
或者如sqrt,表示开平方,需要头文件#include<math.h>
自定义函数
形式:
ret-type fun-name() { }
ret-type是函数的返回类型,fun-name是函数名字,()里面是 形式参数,{ }里面是需要执行的函数体。
举例:乘法
#include<stdio.h> int j(int x, int y) { return x * y; } int main() { int a = 0; int b = 0; scanf("%d%d", &a, &b); int i = j(a, b); printf("%d\n", i); return 0; }
形参和实参
形参:如上面代码所显示,J后面的x,y都是形参,如果不去调用,x和y都是形式上存在的,不会向内存申请空间,不会真实存在
实参:如上面的代码所显示,int i=j(a,b)实现了函数的调用,这个a和b就是实参,就是真实传递给函数的参数。
嵌套调用和链式访问
嵌套调用
就是函数之间的互相调用,
int is_leap_year(int y) { if ((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) return 1; else return 0; } int get_days_month(int y, int m) { int days[] = { 0,31,29,30,31,30,331,31,30,31,30,31 }; int day = day[m]; if (is_leap_year(y) && m == 2) day += 1; return day; } int main() { int y = 0; int m = 0; scanf("%d%d", &y, &m); int d = get_days_month(y, m); printf("%d\n", d); return 0; }
链式访问
就是将一个函数的返回值作为另外一个函数的参数,
printf("%d",printf("%d",printf("%d"))