调用的条件——被调用的函数已存在
#include <stdio.h> #include <math.h> float max(float x, float y); int main () { float a,b,c,s; scanf("%f %f", &a, &b); s=sqrt(a); printf("sqrt is %.2f\n", s); c=max(a+b, a*b) ; printf("max is %.f\n", c); return 0; } float max(float x, float y) { float z; z=(x>y)? x : y ; return z; }
自定义函数先定义,后调用
#include <stdio.h> float max(float x, float y) { float z; z=(x>y)? x : y ; return z; }
int main ()
{ float a,b,c; scanf("%f %f", &a, &b); c=max(a+b, a*b) ; printf("max is %.f\n", c); return 0;}
若要先调用,后定义:调用前声明
#include <stdio.h> float max(float, float); int main () { float a,b,c; scanf("%f %f", &a, &b); c=max(a+b, a*b) ; printf("max is %.f\n", c); return 0; } float max(float x, float y) { float z; z=(x>y)? x : y ; return z; }
编码规范:函数定义前的注释
/* 功能:求出并返回两数的最大公约数 参数:要求最大公约数的两个整数,均为整型 返回值:两数的最大公约数 算法:辗转相除法 */ int gcd(int n1, int n2) { int r; while(n2!=0) { r=n1%n2; n1=n2; n2=r; } return n1; }