楼上正解,可能楼主没理解
我这里具体举例说明
即是
function
a(){
function
b(){
}
}
在a函数里面定义b函数是错的,只能在a函数外部定义b函数
像这样
function
a(){}
function
b(){}
能嵌套调用
即是
function
a
(){
b();
}
可以在a函数里面调用已经定义的b函数
在函数定义中再定义函数就叫函数的嵌套定义。如:
void arrytop(void){
char a=0;
printf("%c\n",a);
int abc(char p){//这个函数abc嵌套在函数arrytop之中了,C/C++是不允许的!
}
}
所谓的定义函数就是在一个函数外声明一个函数 可以是函数头 如int fun(int ,int )属于函数声明
函数体可以在后来再输入 但是一定要先声明再使用 所谓不能嵌套定义就是不能再一个函数体(任何一个函数)内部声明一个函数 比如在main函数内就不能有int fun(int ,int )定义 这样是错误的
一个程序是从main函数开始的 也是从main函数结束的 这样在main函数内调用其它函数就不矛盾了 如printf就是一个函数 被调用了 属于嵌套调用
嵌套调用可以举个n的阶乘的例子
int fun(int n)
{
if(n==0)
return 1;
else
return nfun(n-1);
}
即为嵌套调用 这个函数自己调用自己
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)