十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
有2中情况:
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、普兰店网络推广、微信小程序、普兰店网络营销、普兰店企业策划、普兰店品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供普兰店建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
1,要么是先使用,就不需要再定义函数了
例如:
void
p()
{
//
}
void
main()
{
p();
}
....
2,先定义再使用,这时候,必须先要定义函数,不然编译器不识别此函数的
void
p();
void
mian()
{
p();
}
void
p()
{
//
}
//
希望可以帮到你
当不提供函数原型,而调用处尝不知道返回值类型,此时编译器黙认返回值为整型,而实际返回类型并不是整型,结果没有做正确的数据类型转换,取到的就是错误的数据
你可以在return sum;前打印这个结果,看看计算时是否正确,
同时在循环体中打印出来各个元素值,看看传参数是否正确,如果这两处都还正确则说明只是返回值未正确类型转换。
函数的入口在main(),程序从上至下执行的,如果你的函数在main()之后定义并且没有声明,执行的时候编译器会找不到定义而编译不过。声明就是要让编译器知道函数原型 (检测错误)
总之,如果main()函数在前,必须在main()中写函数声明;如果函数在main()前面,可以不在main()中写函数声明
//int show_info()
函数原型声明只是一个好习惯,C11标准并没有强制要求必须给出原型声明。
而且声明函数的同时定义函数也是允许的。
那跟编译器使用的标准有关
C99的编译器不需要再声明函数,而老的C89需要
不过由于支持C99的编译器只有极少数(如dev、gcc等),大多数的C编译器(尤其是嵌入式编译器)仍使用C89标准,因此,如果你希望你的程序有更好的兼容性,还是遵从C89的标准写上函数声明语句吧
另外需要提示一点:如果你定义的函数返回值是int类型,C89也不需要声明就可以使用此函数,这是特殊情况(我估计你遇到的情况应该是这种),不过为了保持程序员的良好习惯,还是写上声明比较好