c语言中“函数的定义不可以嵌套,但函数的调用可以嵌套”是什么意思???最好能举例子说明!谢谢
4个回答
展开全部
所谓的定义函数就是在一个函数外声明一个函数 可以是函数头 如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 n*fun(n-1);
}
即为嵌套调用 这个函数自己调用自己
函数体可以在后来再输入 但是一定要先声明再使用 所谓不能嵌套定义就是不能再一个函数体(任何一个函数)内部声明一个函数 比如在main函数内就不能有int fun(int ,int )定义 这样是错误的
一个程序是从main函数开始的 也是从main函数结束的 这样在main函数内调用其它函数就不矛盾了 如printf就是一个函数 被调用了 属于嵌套调用
嵌套调用可以举个n的阶乘的例子
int fun(int n)
{
if(n==0)
return 1;
else
return n*fun(n-1);
}
即为嵌套调用 这个函数自己调用自己
展开全部
函数的定义不可以嵌套
定义函数a
void a() //定义a函数
{
int b(int c) //定义函数b
{
}
},这是不对的,
但函数的调用可以嵌套
在主函数中调用x函数,x函数在调用y函数
void y() 定义y函数
{
……
}
void x() 定义X函数
{
y(); 调用y函数
}
void main()
{
x(); 调用x函数
}
定义函数a
void a() //定义a函数
{
int b(int c) //定义函数b
{
}
},这是不对的,
但函数的调用可以嵌套
在主函数中调用x函数,x函数在调用y函数
void y() 定义y函数
{
……
}
void x() 定义X函数
{
y(); 调用y函数
}
void main()
{
x(); 调用x函数
}
追问
你的意思是在 a函数中 不能再定义函数b?
那主函数中不是可以再定义其他函数?
追答
你的意思是在 a函数中 不能再定义函数b?
答 是的那主函数中不是可以再定义其他函数?答 不可以主函从void main()开始,回答中x y 函数不是在main函数中定义的,
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数的定义不可以嵌套
定义函数a
void a() //定义a函数
{
int b(int c) //定义函数b
{
}
},这是不对的,
但函数的调用可以嵌套
在主函数中调用x函数,x函数在调用y函数
void y() 定义y函数
{
……
}
void x() 定义X函数
{
y(); 调用y函数
}
void main()
{
x(); 调用x函数
}
定义函数a
void a() //定义a函数
{
int b(int c) //定义函数b
{
}
},这是不对的,
但函数的调用可以嵌套
在主函数中调用x函数,x函数在调用y函数
void y() 定义y函数
{
……
}
void x() 定义X函数
{
y(); 调用y函数
}
void main()
{
x(); 调用x函数
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你要明白函数的“定义”和“调用”各是什么意思。
“函数的调用可以嵌套”这种说法不太准确,应该是说函数之间可以互相调用,
即A函数可以调用B函数,B函数可以调用A函数。
“函数的调用可以嵌套”这种说法不太准确,应该是说函数之间可以互相调用,
即A函数可以调用B函数,B函数可以调用A函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询