在c中可以嵌套调用函数,但不可以嵌套定义函数。
在宣化等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需求定制网站,公司网站建设,企业网站建设,高端网站设计,全网整合营销推广,成都外贸网站建设,宣化网站建设费用合理。
函数嵌套调用是允许的。
int a()
{
b();//调用函数b
}
函数嵌套定义是错误的。
int a()
{
int b() //在函数a中定义函数b
{
……
……
}
函数是不可以嵌套定义的。
这样做也没有意义,只要你把函数定义出来,那么这个程序的存储空间已经被占用,这个变量的定义并不相同,所以没有必要存在函数的嵌套定义。
如果有需要就直接建立函数即可。
先看
fun(a+
)
里面
fun(d)
d是全局变量
值为1
再看fun(1)
把1传给fun的形参p
进入fun
p
为1
fun内有
局部静态变量d
初值为5
d+=p
使之
变为6
输出d
(局部变量,全局变量名也是b被屏蔽,因此这个d是fun内的局部变量d)
所以输出6
return
返回6
fun(1)返回6
fun(a+6)
a是3
3+6的值9
传给fun的形参p
这是第二次调用fun函数
p为
9
由于d是
静态局部变量
故再次调用fun函数
其中为上一次调用保留的值6
d+=p
使之
变为15
fun函数内
输出
静态局部变量d的值15
fun(9)返回15
返回的15给main函数的printf输出
有输出15
所以是
61515