当前位置: 代码迷 >> C语言 >> [求助]函数的嵌套,欢迎光临!
  详细解决方案

[求助]函数的嵌套,欢迎光临!

热度:104   发布时间:2005-02-14 12:48:00.0
[求助]函数的嵌套,欢迎光临!
函数的嵌套到底是怎么一回事啊?小弟刚刚开始学C语言,对这个概念了解的很模糊,似乎每个程序都有嵌套,而且还有一个叫什么二重嵌套的,真叫人头痛.大家可以帮我解决这个疑问么?谢谢了!
搜索更多相关的解决方案: 嵌套  函数  欢迎  

----------------解决方案--------------------------------------------------------

plus(int a) { int z; if(a!=1) z=a+plus(a-1); else z=1; return z; } main() { int a,b; printf("plaese enter a:\n"); scanf("%d",&a); b=plus(a); printf("1~%d xiang jia wei :%d",a,b); getch(); }

这个是等差数列求和,你看看吧!


----------------解决方案--------------------------------------------------------
我想你说的应该是“嵌套调用”,不包括嵌套定义,因为C函数不能嵌套定义。
如果一个函数不能嵌套调用其他函数,或者被其他函数嵌套调用,那程序是绝对孤立了,那是没意义的。
2楼的程序是递归程序,自身函数调用自身,也是嵌套调用。

函数嵌套调用其实就是平常说的“函数调用”,也就是说在调用的(或者被调用的)函数中,又调用了另一个函数,而另一个函数又调用别的函数。概念就这么简单,没那么难理解。
举个例子你就明白了。假设程序中有三个自定义函数,分别为函数A,函数B,函数C。
假设A调用了B,而B调用了C――这就是函数嵌套调用了;
A可以调用B,B也能调用C,如果C从来没有被任何函数调用,也就如我所说的“绝对孤立”,那编写函数C的意义就不存在了。
如果A调用了B,而B也调用A的话,就是2楼的递归调用了。

[此贴子已经被作者于2005-2-15 2:06:19编辑过]



----------------解决方案--------------------------------------------------------