C语言把自定义函数放后面,不给函数原型声明,怎么没有报错?!我试了几次,用的codeblocks。
1个回答
展开全部
那跟编译器使用的标准有关
C99的编译器不需要再声明函数,而老的C89需要
不过由于支持C99的编译器只有极少数(如dev、gcc等),大多数的C编译器(尤其是嵌入式编译器)仍使用C89标准,因此,如果你希望你的程序有更好的兼容性,还是遵从C89的标准写上函数声明语句吧
另外需要提示一点:如果你定义的函数返回值是int类型,C89也不需要声明就可以使用此函数,这是特殊情况(我估计你遇到的情况应该是这种),不过为了保持程序员的良好习惯,还是写上声明比较好
C99的编译器不需要再声明函数,而老的C89需要
不过由于支持C99的编译器只有极少数(如dev、gcc等),大多数的C编译器(尤其是嵌入式编译器)仍使用C89标准,因此,如果你希望你的程序有更好的兼容性,还是遵从C89的标准写上函数声明语句吧
另外需要提示一点:如果你定义的函数返回值是int类型,C89也不需要声明就可以使用此函数,这是特殊情况(我估计你遇到的情况应该是这种),不过为了保持程序员的良好习惯,还是写上声明比较好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询