gpt4 book ai didi

python - 是否有C相当于Python的: if __name__ == '__main__' : to write main() at the top of the file?

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:29 25 4
gpt4 key购买 nike

<分区>

在 C 中,在 main 之前编写函数声明似乎是多余的。

我不想使用这些方法:

  1. 将函数写在不同的文件中,然后在上面导入。
  2. 在 main 之前编写整个函数。
if __name__ == '__main__':
main()

C 的实现方式是什么?

#include <stdio.h>

void printHello(void);

int main(void)
{
printHello();
}

void printHello(void)
{
printf("Hello World\n");
}

环境:我正在使用 make 脚本,该脚本使用 clang 并在哈佛的 cs50 云 IDE 中进行额外检查。IDE 是使用 c99 版本的语言设置的,没有函数声明就无法编译。

我的测试:仅使用 clang 仍然会出错;使用 GCC 实际上只编译了一个警告。

为什么 GCC 有效?GCC 看到一个没有前面声明的函数调用,它假设函数返回 int 并编译。(pre c99 行为)

已解决:c99 定义消除了隐式类型,因此所有函数都必须在使用前声明。在 C 中,没有等效项:if __name__ == '__main__': 用于在文件顶部编写 main()。

感谢 John Bode 的帮助;现在说得通了。

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