取决于编译器.
经测试在函数中定义的函数,在当前作用域可以被调用.
这样一来,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
函数嵌套定义是错误的.
b()
//在函数a中定义函数b
......
以上就是土嘎嘎小编为大家整理的C语言函数可镶套定义相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!