重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数的定义不可以嵌套 定义函数a void a() //定义a函数 { int b(int c) //定义函数b { } },这是不对的, 但函数的调用可以嵌套 在主函数中调用x函数,x函数在调用y函数 void y() 定义y函数 { …… } void x() 定义X函数 { y(); 调用y函数 } voi...
兴安盟乌兰浩特网站建设公司成都创新互联公司,兴安盟乌兰浩特网站设计制作,有大型网站制作公司丰富经验。已为兴安盟乌兰浩特成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的兴安盟乌兰浩特做网站的公司定做!
在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义.
在例子中,没有嵌套定义的.
int max(int a,int b)
{
if(ab)return a;
else return b;
}//这是在定义max
而main()函数中,
void main()
{
int max(int a,int b);//这是声明,被调用函数,定义在main函数前,可以省略.
int x,y,z;
printf("input two numbers:\n");
scanf("%d%d",x,y);
z=max(x,y);//这是调用.
printf("maxmum=%d",z);
}
所以不矛盾..
C语言的函数定义是互相平行的,独立的,也就是说,在定义函数时,一个函数内不能包含另一个函数,不能嵌套定义函数(但Pascal语言是可以嵌套定义的)。但能嵌套调用。
不可以嵌套定义,每一个函数都有一个内存地址,这个地址是函数的入口,它是不可以在其他函数中定义的。
但是函数可以嵌套调用,也就是在函数A中可以调用函数B
不能。C语言是一种计算机程序设计语言。既有高级语言的特点,又具有汇编语言的特点,不能嵌套定义函数,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。
#include stdio.h
void b()
{
printf("Hello World!\n");
}
void a()
{
b();
}
void main ()
{
a();
}
这样就OK了,只要遵循一个原则,函数在被调用前必须是已经声明过的。因为编译器是要先知道有这个东西存在(已经被定义或声明过),才能通过编译。
如果函数b在函数a之前定义(如上),则不需要在函数a里定义,直接调用即可;
如果函数b在函数a之后定义(如下),则应在在a中声明函数b之后才能调用。
void a()
{
void b();
b();
}
void b()
{
printf("Hello World!\n");
}