C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有声明.不然C由上往下的编译系统将无法识别。正如变量必须先声明后使用一样,函数也必须在被调用之前先声明,否则无法调用!函数的声明可以与定义分离,要注意的是一个函数只能被定义一次,但可以声明多次。
函数的声明不是必须的,在以下3种情况下可以省去在主调函数中对被调函数的声明:
(1)当被调函数的函数定义出现在主调函数之前时。因为在调用之前,编译系统已经知道了被调函数的函数类型、参数个数、类型和顺序。
(2)如果在所有函数定义之前,在函数外部(如文件或程序开始处)预先对各个函数进行了声明,则在主函数中可以省去对被调函数的说明。
(3)被调函数的函数类型为int型时。因为在函数调用之前,没有对函数声明,编译系统自动会把第一次遇到的该函数形式(函数定义或函数调用)作为函数声明,并将函数类型默认为int型。
【返回类型】 函数名(参数1类型 参数1,参数2类型 参数2,……);
例子:
#include
int add(int x,int y); //函数声明语句
main()
{
int a,b,c;
c=add(a,b);
printf("%d",c);
}
int add(int x,int y)//函数定义
{ int z; z=x+y; return z; }