main()在C和C++中定义函数的正确(最有效)方法是什么- int main()或void main()- 为什么?如果int main()那么return 1或return 0?
这个问题有很多重复,包括:
main()函数的有效签名是什么?main()函数void main()和int main()?main()在C++中的签名main()? - 对于C++,确实有一个非常好的答案.main()C语言中的函数样式main()C中的方法类型int main()vs void main()在C中有关:
在 C 语言中,之前编写函数声明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() 的用途。
感谢约翰·博德的帮助;现在有意义了。
我只是想问一下 - 是否必须使用int main()C语言或者我们void main()也可以使用它?而且,这种情况仅在C++中是强制性的吗?