C语言中,函数调用前是否必须需事先声明?

void main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("max=%d\n",max(a,b));
getch();
}
int max(int x,int y)
{
return (x>y?x:y);
}
上面这段程序,被调用函数在main函数后面,并没有声明,但用GCC和TC都可以正常编译执行,何解?是不是以后都不用考虑原型说明了?

第1个回答  2010-08-09
不可以 这个跟编译器有关系,有些编译器可以识别 但是不代表所有的编译器都能够识别
第2个回答  2010-08-09
c语言规定中应该需要前置声明

GCC TC正常编译 可能是因为你的头文件里有max函数定义

C语言中,函数调用前是否必须需事先声明?
这个程序可以这样分析,其实很简单,首先你要添加上去#include<stdio.h>这个头文件,其次你就这样记忆:要是main()函数在被调用函数的前面,也就是像你所说的这样情况的话,就必须在main()函数前面对被调用函数进行声明才可以正常调用函数,不然编译会出错的,如果被调用函数出现在在了main()函数的上面...

C语言调用函数必须申明吗
自定义函数写在main函数前面,可以不申明。自定义函数写在main函数后面,要调用就必须要声明。

在c语言中,所有函数调用之前都必须声明,为什么不对?
不需要啊。只要函数的定义在调用之前就不用声明。比如下面的代码,就不需要声明 void fun1(){}void fun2(){ fun1();}

在c语言中,函数调用是否必须先声明?
可能有些不声明也能通过,但效率极低,最好先声明。1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,...

C语言 函数调用 如果没进行声明会怎么样?
1、由于程序是顺序执行,如果没有提前声明,程序会找不到函数,于是报错。2、声明的主要作用是告诉程序我下面要用到这个函数,程序会去找这个函数的定义,然后调用。3、也可以把nt max(int x,int y)放到main函数之前,就不用写声明了。

C语言中,printf中调用自定义函数必须要先定义吗?
不一定。有两种方法:第一种:无论在printf中,还是main中,或者是在其他任何函数中,要调用自定义函数,都要进行先定义。后面就可以自由调用了。第二种:C语言把自定义函数的语句放在调用的后面,但调用之前,一定要写上自定义函数的声明语句。只有这样,才不会出现编译错误。

c语言中没有函数声明也行马?
如果函数的定义是在调用之前,就不用声明。如果先调用后定义,就要在调用之前先声明。比如上面的例子,如果把函数max的定义部分放在main后面,那就要在调用之前声明。

C语言中函数声明的位置有几种?
1、在调用的函数前定义函数,此时可以不需要声明。2、在调用的函数前声明。3、在调用的函数里面也可以声明。4、在其他文件的头文件*.h文件里面声明,然后*.c文件直接调用头文件也可以。5、如果你把子函数放到MAIN函数外,则必须在定义的时候先声明。6、如果把 子函数放在MAIN函数中就不需要提前声明了...

c语言中函数声明是否必要? 自定义函数放在前、放在后有何区别?
必需的,尽管有些情况不需要,有一定不会出错。自定义函数放在前,表示全局域通用;放在后只能定义局域函数运算,如在一个循环里做函数运算。这个书上都有明确定义,只要你认真看书就能掌握。

[C语言]函数的定义中什么时候要在main之前声明函数?
楼主记住这么一个原则就行了。函数要先声明后使用。即函数调用之前一定要知道该函数的类型。如果fun1在main函数之前已经实现,那么main函数调用fun1的时候就已经知道fun1函数的类型了,就不需要声明了。如果fun1在main函数之后实现,那么调用之前一定要先声明。

相似回答