C语言中如果未显示声明函数返回值的类型或函数的形式参数类型,它就默认返回整型。这种声明在C语言中叫做隐式声明。例如:
/
//main.c
/
#include<stdio.h>
divide(float a, float b) //默认返回整型值,不能放在main函数后面,编译器会报错
{
return a/b;
}
main(void) //默认返回值类型为整型值
{
printf("Implicit Declaration\n");
//调用main函数前没有add函数原型声明的函数,编译器不会报错,但将默认add函数的返回值为整型,若函数返回值不是整型,则会出现错误,例如divide函数
printf("1 + 2 = %0d\n",add(1,2));
printf("10 / 3 = %0f\n",divide(10,3));
return 0;
}
add(a,b) //参数类型缺省默认为整型,函数返回值缺省默认为整型,可以放在main函数后面
{
return a+b;
}
函数执行结果:
注意:最好使用显示声明表达清楚你的意图,不然隐式声明会造成一定的误解,到底是使用隐式声明还是忘记写声明的类型?从而增加代码的阅读难度。