相关疑难解决方法(0)


C 是否有相当于 Python 的: if __name__ == '__main__': 在文件顶部写入 main() ?

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

我不想使用这些方法:

  1. 将函数写入不同的文件中,然后在顶部导入。
  2. 将整个函数写在main之前。
if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

C 的方式是什么?

#include <stdio.h>

void printHello(void);

int main(void)
{
    printHello();
}

void printHello(void)
{
    printf("Hello World\n");
}
Run Code Online (Sandbox Code Playgroud)

环境:我正在使用一个 make 脚本,该脚本使用 clang 并在哈佛的 cs50 云 IDE 中进行附加检查。IDE 使用 c99 版本的语言设置,如果没有函数声明则无法编译。

我的测试:仅使用 clang 仍然错误相同;使用GCC实际上编译时只带有警告。

为什么海湾合作委员会有效? GCC 看到一个没有前面声明的函数调用,它假设该函数返回 int 并编译。(c99 之前的行为)

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

感谢约翰·博德的帮助;现在有意义了。

c python function cs50

6
推荐指数
1
解决办法
1913
查看次数

是否必须在C语言中使用int main()?

我只是想问一下 - 是否必须使用int main()C语言或者我们void main()也可以使用它?而且,这种情况仅在C++中是强制性的吗?

c

0
推荐指数
1
解决办法
884
查看次数