C语言要求函数先定义后调用,将主调函数放在被调函数的后面,就像变量先定义后使用一样。如果主调函数放在自定义函数的前面,就需要在函数调用前,加上函数原型声明。如果不声明,编译时会默认调用函数是int类型。
函数声明的日的主要是说明函数的类型和参数的情况,以保证程序编译时能判断对该函数的调用是否正确并进行相应的编译处理。
正确代码示例:
自定义函数在主函数之前:
#include <stdio.h>
void Swap(int *X, int *Y)
{
/*交换数值*/
int tmp;
tmp = *X; *X = *Y; *Y = tmp;
}
int main()
{
int X = 10, Y = 20;
Swap(&X, &Y);
printf("X=%d, Y=%d\n", X, Y);
return 0;
}
自定义函数在主函数之后:
#include <stdio.h>
int main()
{
int X = 10, Y = 20;
void Swap(); /*主调函数放在自定义函数的前面,需要在函数调用前,加上函数原型声明*/
Swap(&X, &Y);
printf("X=%d, Y=%d\n", X, Y);
return 0;
}
void Swap(int *X, int *Y)
{
/*交换数值*/
int tmp;
tmp = *X; *X = *Y; *Y = tmp;
}