gpt4 book ai didi

多次调用 main 函数是 C 中的一个好习惯吗?

转载 作者:太空狗 更新时间:2023-10-29 15:42:51 25 4
gpt4 key购买 nike

我看到了这样一段C代码:

#include <stdio.h>

void main ()
{
static int ivar = 5;
printf ("%d", ivar--);

if (ivar)
main ();
}

输出:

54321

我是 C 的新手,我想直到条件失败,main 方法才会被一次又一次地调用。由于我是 C 语言的新手,像上述情况那样多次调用 main 函数是否是一种好习惯?在现实世界中,是否存在此类代码非常有用的案例?

提前致谢。

最佳答案

在您的示例中,这无关紧要,因为它是一小段代码。但在一般情况下,我认为调用 main 是一个坏主意,原因如下:

  • 可读性。在检查程序时,没有人会假设 main 会在某一时刻被调用。当你看到它是,你必须回溯并重新阅读整个事情。此外,main 不是一个有意义的名称,因为它不清楚递归的意图是什么。因此,我将编写另一个具有有意义名称的函数来反射(reflect)这一点。
  • 可重用性。一个具有有意义名称的新函数很可能在复杂程序的多个地方都有用。
  • 命令行参数。有时您的程序可能需要命令行参数。甚至 GUI 程序也需要它们(用于文件关联等)。您需要重构对 main 的所有调用以将其考虑在内。
  • C++ 兼容性。在 C++ 中是非法的。

关于多次调用 main 函数是 C 中的一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com