c语言没有函数声明 c语言没有说明函数的类型默认什么

c语言函数不声明行吗

函数的入口在main(),程序从上至下执行的,如果你的函数在main()之后定义并且没有声明,执行的时候编译器会找不到定义而编译不过。声明就是要让编译器知道函数原型 (检测错误)

山南网站建设公司创新互联,山南网站设计制作,有大型网站制作公司丰富经验。已为山南1000多家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的山南做网站的公司定做!

总之,如果main()函数在前,必须在main()中写函数声明;如果函数在main()前面,可以不在main()中写函数声明

C语言中不能在函数里面声明函数吗

你这个问题看似简单,其实涉及到了函数的声明与定义,以及C语言的标准规范和具体编译器的实现问题。

从标准规范来看:

C语言允许函数里声明函数,但是不建议这么写,因为不利于多文档的组织。

C语言禁止函数里定义函数,但是个别编译器却没遵循标准。

C语言的标准和编译器的实现并不是完全统一,为了可移植性,建议一切都按C语言标准中推荐的做法来写。

我还写了个代码附带注释,程序在CFree这个IDE(内置gcc编译器)上运行是通过的,但是在VC++6上就可能通不过了,主要是编译器具体实现不同。

#include stdio.h

//函数外 

//声明,允许,推荐的做法 

int add1(int a, int b);

int main(int argc, char *argv[])

{

//函数内

//声明,允许,但是不建议这么写 

int add2(int a, int b);

//C语言标准里禁止函数内定义函数、

//但是有个别编译器也允许这样做,比如GCC

//此种写法不通用,强烈不建议使用 

int add3(int a, int b)

{

return a+b;

//C99标准中,调用函数之前,必须保证声明已出现过 

printf("%d\n", add1(1,2));

printf("%d\n", add2(2,3));

printf("%d\n", add3(3,4));

return 0;

}

//函数外 

//定义,允许

int add1(int a, int b)

{

return a+b;

}

//定义,允许

int add2(int a, int b)

{

return a+b;

}

--您的采纳是我们的动力--

C语言,为什么我写的的这个函数没有声明,我也能调用呢?

这个未声明只是警告,是一种提醒,有些时候不会影响编译,应该尽量可能避免。

以上代码把第11行的内容复制在第1行、第2行之间,末尾再加个分号(;),就可以了,这就是函数的声明。

C语言中代码中没有函数声明

很明显是函数声明嘛,书上这样写就是错了。

楼主有不懂可以问哦。


分享文章:c语言没有函数声明 c语言没有说明函数的类型默认什么
URL标题:http://myzitong.com/article/dddsshi.html