#include stdio.h
void b()
{
printf("Hello World!\n");
}
void a()
b();
void main ()
a();
这样就OK了,只要遵循一个原则,函数在被调用前必须是已经声明过的.因为编译器是要先知道有这个东西存在(已经被定义或声明过),才能通过编译.
如果函数b在函数a之前定义(如上),则不需要在函数a里定义,直接调用即可;
如果函数b在函数a之后定义(如下),则应在在a中声明函数b之后才能调用.
void b();
就是在一个语句的内部,含有一个或更多的同种语句.
例如:
if(条件1)
{for(j=0;j10;j◆◆)
....;
在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中可以嵌套调用函数,但不可以嵌套定义函数.
函数嵌套调用是允许的.
int a()
b();//调用函数b
函数嵌套定义是错误的.
int b() //在函数a中定义函数b
......
在一个函数体内再定义一个函数,就是嵌套定义了.比如:
void FunOuter()
void FunInner()
这个FunInner函数就是FunOuter的嵌套,是不允许的
以上就是土嘎嘎小编为大家整理的c语言嵌套函数讲解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!