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 n*fun(n-1);
}
即为嵌套调用 这个函数自己调用自己
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-09-20
函数的定义不可以嵌套
定义函数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函数中定义的,

本回答被提问者和网友采纳
第2个回答  2019-12-22
函数的定义不可以嵌套
定义函数a
void a() //定义a函数
{
int b(int c) //定义函数b
{
}
},这是不对的,
但函数的调用可以嵌套
在主函数中调用x函数,x函数在调用y函数
void y() 定义y函数
{
……
}
void x() 定义X函数
{
y(); 调用y函数
}
void main()
{
x(); 调用x函数
}
第3个回答  2012-10-20
首先你要明白函数的“定义”和“调用”各是什么意思。

“函数的调用可以嵌套”这种说法不太准确,应该是说函数之间可以互相调用,

即A函数可以调用B函数,B函数可以调用A函数。
相似回答