新华
从事核电安全级仪控系统软件研发,目前正在研发安全级嵌入式实时操作系统......
展开
-
人工智能的迷惑瞬间:探索与期待的旅程
例如,当用户尝试与AI进行深层次的情感交流或寻求精准而复杂的建议时,AI的回答往往显得生硬或者脱节,无法达到人类交流的自然流畅和情感共鸣。最后,面对AI带来的种种迷惑和挑战,我们需要的不仅仅是技术的进步,更重要的是在人与机器的互动中找到合适的平衡点。只有通过不断的探索和监管,建立起一套完善的伦理框架和规范体系,我们才能确保AI技术的健康发展,让其真正成为服务于人类的智能工具。在未来,随着算法的进步和数据的积累,我们有理由相信AI将会变得更加智能和灵活,能够处理更加复杂的任务,并在更多领域发挥其独特的价值。原创 2024-03-17 05:00:00 · 222 阅读 · 0 评论 -
C语言:随机访问文件
在这种情况下可以采用对文件的随机访问,从而能够访问文件中任何点的任何记录。随机文件访问有时需要更多的编程,但通过更灵活的文件访问方法来回报我们的努力。我们可以在C中打开和关闭随机访问文件,与具有相同打开方式的顺序文件相同,但我们需要一些新函数来随机访问文件。当您打开文件时,您可以定义文件的打开方式:是从头开始创建还是覆盖,是文本还是二进制,读取还是写入,以及是否应该追加。读取和写入文件是通过将单个字母“r”、“b”、“w”、“a”和“+”与其他字母组合形成一个或多个文件模式说明符来完成的。原创 2023-12-10 20:28:20 · 67 阅读 · 0 评论 -
C语言:错误处理
使用文件指针 fp 以只读模式打开文件后,我们检查 fp 是否为 NULL,即文件不存在,然后将 errno 作为参数传递给 strerror() 函数,该函数将打印相应的错误消息。在此程序中,借助 strerror() 函数,当没有可用的名为“test.txt”的文件时,我们将使用 errno 值显示错误消息。我们还负责错误处理,因此,在缺少文件的情况下,我们将打印错误消息。这会导致系统调用中断。在此程序中,借助 perror() 函数,当没有可用的名为“test.txt”的文件时,我们将显示错误消息。原创 2023-12-10 20:28:02 · 30 阅读 · 0 评论 -
C语言:文件处理
概述在本文中,我们将探讨 C 编程中文件处理的要点以及 C 中的一些文件操作。我们将了解为什么管理文件对于在程序执行之外保留数据和启用数据传输是必要的。本文深入研究了文本文件和二进制文件之间的差异,概述了它们的用途和特征。通过实际示例,我们将了解如何打开、读取、写入和关闭文件,并且熟悉 C 语言中有效文件操作的关键函数和操作。为什么我们需要用 C 语言处理文件?C 中的文件处理将程序的数据存储在本地存储中,可以随时使用,因为当程序执行完成时,我们的数据就会丢失。原创 2023-12-10 20:27:48 · 23 阅读 · 0 评论 -
C语言:双指针
与 C 中的指针变量可用于访问或修改 C 中的变量值类似,C 中的指针用于访问/修改指针变量的值。在这里,前一个指针的“值”像往常一样是一个内存地址。因此,使用指向指针的指针(也称为 C 中的双指针),我们可以使前一个指针指向另一个内存位置。原创 2023-12-10 20:27:32 · 226 阅读 · 0 评论 -
C语言:使用链表实现队列
在本文中,我们将学习如何使用 C 语言中的链表实现队列数据结构。使用链表意味着我们将按照队列规则以节点的形式存储信息。队列规则说插入发生在一端,删除发生在另一端,即先进先出 (FIFO)。队列是一种遵循先进先出原则 (FIFO) 的线性数据结构。队列支持排队和取消排队等操作。它可以使用数组和链表来实现。在数组上使用链表实现队列的好处是,它允许根据要求增加队列,即可以动态分配内存。什么是队列?原创 2023-12-10 20:27:10 · 18 阅读 · 0 评论 -
C语言:使用链表进行堆栈
在本文中,我们将学习如何在 C 语言中使用链表实现堆栈数据结构。使用链表意味着我们将按照堆栈的规则以节点的形式存储信息。堆栈规则规定插入和删除应在同一端进行,即后进先出 (LIFO)。堆栈是一种遵循后进先出原则 (LIFO) 的线性数据结构。Stack 支持各种操作,如 push、pop、peek、empty 和 size。它可以使用数组和链表来实现。在 C 语言中使用链表实现堆栈的好处是,它允许根据要求增加堆栈,即可以动态分配内存。原创 2023-12-10 20:26:57 · 58 阅读 · 0 评论 -
C语言:链表数据结构
本文是介绍 C 语言链表的详细资源。它涵盖了基本原理,包括节点结构和链表的三种主要类型(单向、双向和循环)。提供了用于插入和删除等各种操作的实用 C 代码。本文强调了 C 语言中链表的优缺点,并探讨了它们在现实世界中的应用,包括 Web 浏览器、操作系统、编译器、数据库和图形软件。原创 2023-12-10 20:26:40 · 14 阅读 · 0 评论 -
C语言:动态内存
当我们声明任何数据类型的变量或数组时,它们在整个程序执行过程中在系统内存中占用的空间保持不变。有时,在编译时分配的常量空间可能会不足,为了在运行时增加空间,我们采用了 C 语言中动态内存分配的概念。在 C 语言中,运行时内存的分配和释放是使用动态内存分配的概念完成的。在这种方法中,我们使用不同的库函数(如 malloc()、calloc()、realloc() 和 free() )在运行时分配和释放内存块。它被认为是一个非常重要的主题,因为几乎每个数据结构(如链表、堆栈、队列、树等)都与。原创 2023-12-10 20:26:29 · 12 阅读 · 0 评论 -
C语言:编译时和运行时之间的区别
编译器在执行之前将用高级语言编写的整个程序翻译成机器语言,将高级语言翻译成机器语言的过程称为编译。代码只是翻译成机器级语言,但在编译过程中不会进行评估。在程序编译过程中遇到的错误称为编译错误。运行时是程序运行的时间段,此时遇到的错误称为运行时错误。计算机只懂二进制语言,如果我们想和计算机交流,就必须使用二进制语言。想象一下,编写一个程序,将两个数字相加,只需 1 和 0。听起来不可能,对吧?为了克服这个问题,我们用高级语言编写代码。用高级语言编写程序对我们来说可能很容易,但计算机不理解高级语言。原创 2023-12-10 20:26:09 · 131 阅读 · 0 评论 -
C语言:中带有结构的指针
C 允许程序员通过使用 struct 关键字将不同类型的数据组合在一起来创建用户定义的数据类型,这种数据类型称为结构。与 C 中的任何其他数据类型一样,用户定义结构的变量占用内存块中的地址,并且可以使用指针来指向它们。指向结构的指针称为结构指针。C 中的结构和指针一起有助于有效地访问结构成员。结构指针声明类似于使用 struct 关键字声明结构变量,后跟它将指向的结构类型。结构指针只能保存声明时使用的结构的地址。C 语言中的结构和指针一起使访问结构值和传递给函数变得更加容易。原创 2023-12-10 20:25:53 · 15 阅读 · 0 评论 -
C语言:函数指针
C 中的函数指针是可以存储函数内存地址的变量,可以在程序中用于创建对它们指向的函数的函数调用。在程序中使用 C 中的函数指针之前,需要用星号符号和函数参数(与它们将指向的函数相同)进行声明。C 语言中函数指针的声明包括不同函数参数的返回类型和数据类型。指针名称前的星号符号将函数指针与通常的函数声明区分开来。函数可以将函数指针作为函数参数,稍后在函数体中调用它。此类传递的函数称为回调函数。当我们声明一个变量时,编译器会保留一个内存块。原创 2023-12-10 20:25:39 · 13 阅读 · 0 评论 -
C语言:字符串指针
String 是一种数据类型,用于将字符序列存储在数组中。C 中的字符串始终以 null 字符 (\0) 结尾,表示字符串的终止。C 语言中指向字符串的指针可用于指向数组的起始地址,即数组中的第一个字符。可以使用星号 * 运算符取消引用这些指针,以标识存储在该位置的字符。二维数组和指针变量都可用于存储多个字符串。假设我们想将所有同学的名字存储在 C 中。我们该怎么做?C 允许用户借助 char 数据类型来存储单词和句子。字符数据类型仅存储单个字符,但人员姓名包含多个字符。原创 2023-12-10 20:25:28 · 14 阅读 · 0 评论 -
C语言:指针数组
在 C 编程中,数组和指针简化了数据处理。数组名称充当指向其起点的指针。指针有助于快速访问数据。这种协作允许在数组中有效地操作数据。这个概念还扩展到多维数组和创建指针数组来管理各种数据。了解这种相互作用为程序员提供了在 C 编程中精确控制数据的宝贵工具。C 语言中的数组是变量的集合,所有变量都具有相同的类型,使用通用名称进行访问。数组中的各个元素可以通过用从零开始的数字进行索引来引用。这里,numbers 是一个由 5 个整数组成的数组。C 中的指针是一个变量,用于存储另一个变量的地址。原创 2023-12-10 20:25:17 · 14 阅读 · 0 评论 -
C语言:常量指针
每当需要在 C 中使变量不可变时,我们可以求助于 C 中的 const 关键字。这样,只要变量存在于内存中,就无法对其进行修改。同样,我们也可以将 const 关键字与指针一起使用。带有 const 关键字的指针有多种用法,例如我们可以在 C 中创建一个常量指针,这意味着指针变量的值不会改变。我们可以在 C 中创建一个指向常量的指针,这意味着指针将指向一个常量变量(使用 const 创建)。我们还可以在 C 中创建指向常量的常量指针,这意味着指针的值和指针指向的变量的值都不会改变。原创 2023-12-10 20:25:08 · 13 阅读 · 0 评论 -
C语言:悬空指针
指向已释放内存块的指针称为悬空指针。这种情况会生成一个错误,称为“悬空指针问题”。当指向变量的指针超出范围或对象/变量的内存被释放时,就会发生悬空指针。此外,悬空指针的出现可能会导致在程序执行过程中出现一些意外错误,因此我们必须确保在编写程序时避免它们。有一些方法可以避免悬空指针问题,例如在内存释放时将 NULL 分配给指针或使用静态变量。一般来说,悬空的意思是自由悬挂。顾名思义,悬空指针是指指向程序内存中某个释放/删除位置的指针(当前未在程序使用的内存中)。当我们谈论内存块的分配和释放时,我们看到。原创 2023-12-10 20:24:53 · 101 阅读 · 0 评论 -
C语言:算术运算符
算术表达式是与算术运算符相互连接的操作数的组合。它们最终计算为单个值。我们人类使用一种称为 BODMAS 的技术来评估现实生活中的算术表达式,但计算机和 C 编程语言使用相似但不同的技术。它们使用优先级和关联性。C 算术运算符是用于对操作数执行数学运算的符号。算术运算符还可用于对任何数值数据类型(如 int、float 和 double)执行运算。原创 2023-12-10 20:24:41 · 13 阅读 · 0 评论 -
C 语言中的指针声明
指针存储内存位置的地址,因此,它用于获取对变量或函数的引用。让我们考虑一下当我们希望另一个指针指向同一变量时的情况,那么,在这种情况下,我们可以利用这种方法来做同样的事情,而不是重新执行方法 1,即我们只需将旧指针分配给新指针。请看下图,了解在 C 语言中声明指针时会发生什么,以及它与变量的关系。对于 C 中的指针声明,必须确保所使用的数据类型是有效的 C 数据类型,并且指针和指针变量指向的变量必须具有相同的数据类型。现在我们已经了解了变量是如何存储在内存中的,是时候了解什么是指针了。原创 2023-12-09 10:06:35 · 25 阅读 · 0 评论 -
C语言:指针(2)
指针是一个变量,其值是另一个相同类型的变量的地址。指针指向的变量值通过使用 * 运算符取消引用来访问。有不同类型的指针,例如 null、void、wild 等。我们在程序中定义的每个变量都存储在内存中的特定位置。int n = 50;0x123 是一个十六进制数。由于内存地址往往是大数字,我们经常使用十六进制数字系统来表示它们。我们可以在 C 程序中使用 & 运算符访问这个地址。return 0;我们得到 dcbc14ac 作为变量 n 的地址。原创 2023-12-09 10:00:56 · 16 阅读 · 0 评论 -
C语言:指针(1)
C 中的指针是一个变量,就像任何其他变量一样,但它包含变量的地址。当我们想在堆上分配一些内存时,我们会使用它们,这也称为动态内存分配。指针是一个变量,用于保存另一个变量的内存地址。当我们声明特定数据类型的变量时,我们会为该变量分配一些内存,它可以存储其数据。通过定义,内存分配在堆栈中。使用不同的函数(C中的malloc)或关键字(C++,Java等中的new),我们可以为堆部分中的变量分配内存(也称为动态内存分配)。在堆中分配内存的主要优点之一是它允许您全局访问变量。原创 2023-12-09 09:54:24 · 18 阅读 · 0 评论 -
C语言:变量的作用域、可见性和生存期
变量的可见性由变量在程序中的访问方式定义。变量在其作用域内可见,在作用域外隐藏。变量的可见性控制程序其余部分可以访问它的数量。您可以将变量的可见性限制为函数的特定部分、单个函数、单个源文件或 C 程序中的任意位置。变量的可见性和作用域彼此非常相似,但是在 C 程序中不一定可以访问(可见)每个可用变量(在作用域中)。让我们通过一个示例来了解这一点,其中我们在两个不同的范围内声明了两个具有相同名称的变量,在较大的范围内声明的变量在具有较小范围的块中可用,但它是不可访问的,因为较小的范围变量在。原创 2023-12-09 09:51:14 · 77 阅读 · 0 评论 -
C语言:存储类
C 语言中的存储类说明符是 C 语言中内存管理的一个重要主题。我们在 C 程序中声明的每个变量都有其作用域和生存期。存储类允许我们确定变量的范围、可见性和生存期。每当我们在程序中定义一个变量时,我们也会定义它的数据类型和存储类。这两个属性告诉了很多关于变量的信息,例如,data-type 告诉内存中变量的大小和二进制表示。unsigned int 表示正数,而有符号 int 表示负数和正数。内存分配不会在声明中发生,而在定义中,内存分配给变量。原创 2023-12-09 09:38:40 · 16 阅读 · 0 评论 -
C语言:将数组传递给函数
数组是将相似数据分组和存储在一起的有效方法。我们需要多次传递数组才能运行,例如在合并或快速排序中。数组可以通过传递对数组基址的引用来使用指针传递给 C 中的函数,同样,多维数组也可以传递给 C 中的函数。数组可以通过发送数组的基址或创建用户定义的数据类型从使用指针的函数返回,并且此指针可用于访问存储在数组中的元素。数组是类似数据类型的集合,这些数据类型作为连续的内存块存储在内存中。这意味着多维数组也是我们内存中的连续数据块。在 C 中,有几次我们需要将数组传递给函数参数。原创 2023-12-09 09:30:37 · 810 阅读 · 0 评论 -
C语言:递归
递归是一种编程概念,其中函数调用自身来解决问题,方法是将问题分解为同一问题的更小、更简单的版本。它涉及定义一个基本情况来停止递归调用,以及一个递归步骤,以减少问题大小,直到达到基本情况。这种方法可以为某些问题提供优雅而简洁的解决方案,例如遍历树结构或计算阶乘。但是,它需要小心处理,以防止无限循环和有效使用系统资源。递归涉及一个基本情况,该情况停止递归调用以防止无限循环,从而确保程序终止。递归调用是在进行递归调用时在递归函数中重复执行的代码。原创 2023-12-09 09:24:10 · 13 阅读 · 0 评论 -
C语言:按值调用和按引用调用
在 C 语言中,函数指定传递给它的参数模式。在 C 中,有两种方法可以指定函数调用:按值调用和按引用调用。在按值调用中,函数参数获取实际参数的副本,这意味着函数参数中所做的更改不会反映在实际参数中。在引用调用中,函数参数获取实际参数的引用,这意味着它们指向相似的存储空间,函数参数所做的更改将反映在实际参数中。假设您有一个文件,并且有人想要文件中存在的信息。因此,为了防止原始文件被更改,您将文件的副本提供给他们,如果您希望其他人在您的文件中完成更改,那么您必须向他们提供您的原始文件。原创 2023-12-09 09:17:23 · 73 阅读 · 0 评论 -
C语言:实参(Arguments)和形参(Parameters)之间的区别
形参就像占位符,用于接收传递给它们的实参值,你可以说它们用于接收在函数调用期间传递的实参。术语"实参"在函数调用时被广泛使用,它充当一个媒介,用于在一个函数和另一个函数之间传递值。实际的加法函数在此 add() 函数中执行。在上面的一行中,我们通过传递两个值来调用函数 add(),即 4 和 6。function1() 执行操作,生成所需的结果,并将其发送回 main()。这是第一种实参的示例,即具有返回值的实参(Argument)。然后,可以在 main() 中完成进一步的操作,例如打印结果。原创 2023-12-09 09:12:28 · 44 阅读 · 0 评论 -
C语言:用户定义函数
C 语言中的函数有三个部分。让我们详细讨论它们中的每一个。函数定义包含调用函数后执行的实际代码块。返回类型函数名称函数参数功能主体我们已经讨论了函数声明的前三个组成部分。函数体包含定义函数功能的指令集合。如果函数返回任何值,我们使用关键字 return 从函数返回值。例如,return (5*10);返回整数数据类型的值 50。函数定义的语法如果没有传递参数,我们还可以为分配给参数的函数参数提供默认值。例如。原创 2023-12-09 08:59:13 · 48 阅读 · 0 评论 -
C语言:标准库函数
本文概述了 C 语言中的标准库函数。本文还列出了不同的头文件及其包含的函数类型。简而言之,C 标准库是预定义函数的集合,可用于执行各种任务,例如 I/O、字符串操作、数学运算和内存管理。使用库函数有几个优点,包括减少工作量、提高效率和提高可读性。原创 2023-12-09 08:52:09 · 21 阅读 · 0 评论 -
C语言:函数
函数是在程序中定义的代码块,用于执行特定任务。函数只需要在程序中定义一次,然后就可以多次使用。这也提高了代码的可读性和模块化,同时也提供了代码的可重用性。函数只是为执行特定任务而定义的代码块。这样,如果我们将一个复杂的程序分解为函数,其中每个函数执行更简单的任务,程序将变得易于编码并提高可读性。函数最好的一点是,它们可以在需要时在整个程序中一次又一次地重复使用。这也有助于减少我们程序中的重复代码。在本文后面,我们将看到更多关于 C 语言中函数的可重用性。定义函数意味着在函数中指定主体。原创 2023-12-09 08:49:38 · 16 阅读 · 0 评论 -
C语言:动态数组
与其他高级语言(Python、JavaScript 等)不同,C 没有内置的动态数组。但是,它提供了一种与原始内存交互的方式(换句话说,在脚上射击)。动态数组是可调整大小的,并为其元素提供随机访问。它们可以用可变大小进行初始化,并且可以稍后在程序中修改它们的大小。动态数组在堆上分配,而 VLA 在堆栈上分配。需要注意的是,VLA 与动态阵列不同。一些主要区别是:-VLA 的行为类似于普通数组,并且它们受范围限制。动态数组可以在程序中的任何位置使用,无论作用域如何,直到调用 free()。原创 2023-12-09 08:07:28 · 22 阅读 · 0 评论 -
C语言:多维数组(C程序中的二维数组)
数组的维度是指数组元素可以变化的特定方向。具有单维的数组称为一维数组。维数大于 1 的数组称为多维数组。原创 2023-12-09 07:54:38 · 33 阅读 · 0 评论 -
C语言:编程中的一维数组
数组是存储在连续内存位置的一个或多个相同数据类型的值的集合。数据类型可以是用户定义的,甚至可以是任何其他基元数据类型。通过将索引号指定为内存中的位置,可以使用相同的数组名称访问数组的元素。原创 2023-12-09 07:49:48 · 22 阅读 · 0 评论 -
C语言:枚举(enum)
Enumerator(enum) 是 C 编程语言中一种特殊的用户定义数据类型,用于创建和存储整数常量。C 语言中的枚举用于编写干净、易读且易于维护的代码。enum关键字用于在 C 中创建枚举数据类型。BOLD,ITALIC,UNDERLINE在上面的代码中,textEditor 是枚举器数据类型的名称,而 BOLD、ITALIC、UNDERLINE 是用逗号分隔的不同枚举名称。我们可以通过直接分配等效的整数值来直接定义枚举变量,如下代码所示。原创 2023-12-09 07:37:07 · 16 阅读 · 0 评论 -
C语言:联合
使用 union 关键字定义联合。int radius;上面的声明包括一个名为“circle”的联合,它有两个成员,name 和 radius。同时,创建两个联合变量 circle1 和 circle2。在上面的示例中,stud1 和 stud2 是与学生会一起声明的联合变量。在声明后定义联合变量在这里,工会变量stud1和stud2是在学生会声明之后定义的。访问联合成员若要访问联合的成员,请使用点 (.) 运算符。原创 2023-12-09 07:31:36 · 14 阅读 · 0 评论 -
C语言:结构数组
C 语言中的结构是一种有价值的用户定义数据类型,用于存储信息。它可以与数组耦合以创建结构数组。结构数组被定义为结构变量的集合,这些变量反过来可以存储各种实体。它比手动编写结构的多个变量更有效。数组可以定义为一种数据结构,我们可以在其中对相同数据类型的变量进行分组。数组的每个元素都可以是 char、int、double、float 甚至结构。我们知道,结构允许将不同数据类型的元素分组到一个名称下。我们可以将这种新结构本身视为一种新的数据类型。原创 2023-12-09 07:21:47 · 34 阅读 · 0 评论 -
C语言:结构和函数
结构可以像所有其他数据类型一样作为函数参数传递。我们可以将结构的单个成员、整个结构或指向结构的指针传递给函数。与所有其他数据类型一样,函数可以返回结构或结构成员或指向结构的指针。结构函数有助于编写更好的代码。C 语言中的结构函数使代码高效。消耗较少内存且执行时间较少的代码是好的。在我们进入 C 语言结构和函数的概念之前。让我们来看看一些先决条件。函数是可重用的代码,在调用它们时执行特定任务。派生数据类型由基本数据类型组成。结构就是这样一种用户定义的数据类型。原创 2023-12-09 07:21:14 · 20 阅读 · 0 评论 -
C语言:带有结构的指针
C 允许程序员通过使用 struct 关键字将不同类型的数据组合在一起来创建用户定义的数据类型,这种数据类型称为结构。与 C 中的任何其他数据类型一样,用户定义结构的变量占用内存块中的地址,并且可以使用指针来指向它们。指向结构的指针称为结构指针。C 中的结构和指针一起有助于有效地访问结构成员。结构指针声明类似于使用 struct 关键字声明结构变量,后跟它将指向的结构类型。结构指针只能保存声明时使用的结构的地址。C 语言中的结构和指针一起使访问结构值和传递给函数变得更加容易。原创 2023-12-09 07:20:47 · 11 阅读 · 0 评论 -
C语言:嵌套结构与示例
Structure 是一种用户定义的数据类型,用于将一组不同类型的项目存储为单个数据类型。结构的每个元素都称为其成员。假设我们有一个实体“Employee”,我们需要每个员工的姓名和员工 ID。我们可以通过以下方式创建一个结构“Employee”现在让我们看看,什么是嵌套结构。顾名思义,嵌套结构是指将一种结构嵌套在另一种结构中。在 C 语言中嵌套结构的情况下,嵌入结构将是外部结构的成员。在本文中,我们将深入研究 C 语言中的嵌套结构。原创 2023-12-08 17:34:08 · 146 阅读 · 0 评论 -
C语言:结构,再论
本文通过实际语法示例介绍如何创建和声明结构、访问成员和初始化值。它还涉及使用字符数组处理结构中的字符串,并提供了管理联系人列表的真实示例。要在 C 中定义结构,请使用 struct 关键字,后跟结构名称。在结构中,列出成员变量(字段)及其数据类型。在此示例中,我们定义了一个名为 Student 的结构,其中包含三个成员变量:studentID(整数)、name(字符数组)和 grade(浮点数)。原创 2023-12-08 17:31:01 · 14 阅读 · 0 评论 -
C语言:调试
任何应用程序都会有问题。我们如何理解和解决这些问题?查找和修复问题的过程称为调试。调试的核心在于了解错误并决定调试工具。可以在代码中添加打印语句或日志记录来检查变量的值。它们还有助于理解代码流。交互式调试非常有用,因为它减少了添加打印语句的工作量。像GDB(GNU Debugger)这样的工具可用于交互式调试C代码。什么是错误?什么是调试?假设您需要计算一个数字的阶乘。您看到以下代码有任何问题吗?while(n--)int main()乍一看,代码似乎是正确的。但是,该函数始终为任何n返回0。原创 2023-12-08 17:28:41 · 14 阅读 · 0 评论