为什么“C语言既可以嵌套定义又可以递归调用”是错的?

为什么“C语言既可以嵌套定义又可以递归调用”是错的?,第1张

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;

    };

};

这样在结构体内定义结构体,是可以的。

函数定义不可以嵌套的意思是:不可以在一个函数内定义另一个函数 例如 void fun() { void fun1(){ } } 函数调用可以嵌套 ,函数调用只有 函数名和参数 fun()这叫调用 例如 void fun() { fun1(); } 这样是可以的

函数不能嵌套定义而能嵌套调用怎么理解

不能嵌套定义  即是function a{function b}。

在a函数里面定义b函数是错的,只能在a函数外部定义b函数 像这样function a(){},function b(){}。

能嵌套调用 即是function a (){b(),可以在a函数里面调用已经定义的b函数。

函数

函数的定义:给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,简称函数。函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。

函数,最早由中国清朝数学家李善兰翻译,出于其著作《代数学》。之所以这么翻译,他给出的原因是“凡此变数中函彼变数者,则此为彼之函数”,也即函数指一个量随着另一个量的变化而变化,或者说一个量中包含另一个量。函数的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、映射的观点出发。

嵌套

嵌套,指的是在已有的表格、图像或图层中再加进去一个或多个表格、图像或图层,亦或两个物体有装配关系时,将一个物体嵌入另一物体的方法。

楼上正解,可能楼主没理解 我这里具体举例说明

不能嵌套定义 即是

function a(){

function b(){

}

}

在a函数里面定义b函数是错的,只能在a函数外部定义b函数 像这样

function a(){}

function b(){}

能嵌套调用 即是

function a (){

b();

}

可以在a函数里面调用已经定义的b函数

答案是C;

A:函数的定义不可以嵌套,但函数的调用可以嵌套

B:一个C语言程序的执行是从函数main开始,但main结束整个函数就结束。

C:正确。

D:可以不按顺序书写。但是如果函数调用先于函数定义,则需要有函数声明。

楼主有不懂可以问哦。

  c语言函数可以嵌套调用的。

 c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的 *** 作系统中,例如MicrosoftWindows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12179696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存