扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在c中可以嵌套调用函数,但不可以嵌套定义函数。
10年积累的网站制作、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有旬阳免费网站建设让你可以放心的选择与我们合作。
函数嵌套调用是允许的。
int a()
{
b();//调用函数b
}
函数嵌套定义是错误的。
int a()
{
int b() //在函数a中定义函数b
{
……
……
}
// z=func(func(x++,y++),func(--x,--y));可以分三步完成
// 第(1)步,func(x++,y++)传入的实参是6 和7,函数返回 13,同时x和y再分别自增1,因此 x=7, y = 8
// 第(2)步,在调用函数前,x和y分别自减1,因此func(--x,--y)传入的实参依旧为6和7,函数返回 13,此时 x= 6, y = 7
// 第(3)步,根据第(1)步和第(2)步的函数调用后,z = func(func(x++,y++),func(--x,--y));分别把函数的返回值作为第(3)次函数调用的参数调用,因此,
z = func(13,13) = 26;
//所以输出为26
#include stdio.h
void b()
{
printf("Hello World!\n");
}
void a()
{
b();
}
void main ()
{
a();
}
这样就OK了,只要遵循一个原则,函数在被调用前必须是已经声明过的。因为编译器是要先知道有这个东西存在(已经被定义或声明过),才能通过编译。
如果函数b在函数a之前定义(如上),则不需要在函数a里定义,直接调用即可;
如果函数b在函数a之后定义(如下),则应在在a中声明函数b之后才能调用。
void a()
{
void b();
b();
}
void b()
{
printf("Hello World!\n");
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流