重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
取决于编译器.
专注于为中小企业提供网站建设、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业北仑免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
我在Ubuntu16.04 用默认gcc,在eclipse中测试可以实现嵌套定义.
经测试在函数中定义的函数,在当前作用域可以被调用.
这样一来,c语言貌似具有了一些面向对象的特性,使用起来比较方便
C语言可以递归调用,但是(函数)不能嵌套定义。
例如:
int fact(int n)
{
if (n == 0)
return 1;
else
return n * fact(n - 1);
}
图中的递归调用是允许的。
而:
void foo()
{
void bar()
{
// Some code
}
}
这样在函数内定义函数是不允许的。
不过结构体是可以嵌套定义的,例如:
struct test {
int a;
struct demo {
char b;
};
};
这样在结构体内定义结构体,是可以的。
函数的定义不可以嵌套 定义函数a void a() //定义a函数 { int b(int c) //定义函数b { } },这是不对的, 但函数的调用可以嵌套 在主函数中调用x函数,x函数在调用y函数 void y() 定义y函数 { …… } void x() 定义X函数 { y(); 调用y函数 } voi...
不可以嵌套定义,每一个函数都有一个内存地址,这个地址是函数的入口,它是不可以在其他函数中定义的。
但是函数可以嵌套调用,也就是在函数A中可以调用函数B
答案是C;
A:函数的定义不可以嵌套,但函数的调用可以嵌套
B:一个C语言程序的执行是从函数main开始,但main结束整个函数就结束。
C:正确。
D:可以不按顺序书写。但是如果函数调用先于函数定义,则需要有函数声明。
楼主有不懂可以问哦。
在c中可以嵌套调用函数,但不可以嵌套定义函数。
函数嵌套调用是允许的。
int
a()
{
b();//调用函数b
}
函数嵌套定义是错误的。
int
a()
{
int
b()
//在函数a中定义函数b
{
……
……
}