例:
#include<stdio.h>
int factorial(int n);
int main(void)
{
int n;
scanf("%d", &n);
printf("%d\n", factorial(n));
return 0;
}
int factorial( int n )
{
int i, fact = 1;
for (i = 1; i <= n; i++){
fact = fact * i;
}
return fact;
}
这是一个计算素数和的程序,其中factorial是一个自定义函数,由于该函数的使用在定义之前所以需要先做函数声明(黄色部分),告诉系统预留出空间,若函数的使用在定义之后则不需要进行函数声明(“声明是不开辟内存的,仅仅告诉编译器,要声明的部分存在,要预留一点空间。定义则需要开辟内存。”)。而在factorial函数中的 return fact;的意思是将fact的值作为factorial函数的运行结果,即若是需要调用factorial函数,如 printf("%d\n", factorial(n));则会输出factorial函数的运行结果(上述程序中即fact的值),若函数类型与返回值类型不一致,则编译器会以函数类型为基准,将返回值类型转换为函数类型(只有基本数据类型可以相互转换,需要返回值是变基础数据量且在返回值变量已经赋值的情况下会转换;若返回值未被赋值,则会输出数据变量的默认值);