调用的条件——被调用的函数已存在
#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;
}
<pre code_snippet_id="602005" snippet_file_name="blog_20150210_2_796146" name="code" class="cpp" style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-family: Arial, Helvetica, sans-serif;">int main ()</span>
{ 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;
}