int main()vs void main()in C [duplicate]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了int main()vs void main()in C [duplicate]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

在C中,我知道int main()返回一个int,其中void main()没有。除此之外,它们之间有区别吗?第一个好于第二个?

答案

绝大多数时候,int main(void)int main(int argc, char* argv[])之一是您需要使用的。特别是,如果您正在编写一个程序,该程序将由任何主要编译器编译以在个人计算机上运行,​​并且具有完整的C标准库,那么您几乎肯定需要从int返回main

(我也会避免使用空参数列表,请参阅“Why don't we use (void) in main?”)

C99标准允许其他实现定义的签名,如果您已经阅读了编译器的手册,那么您可以使用这些签名。

(5.1.2.2.1)它应定义为返回类型为int且没有参数......或具有两个参数......或者以某种其他实现定义的方式定义

就个人而言,即使他们被允许(如果可能的话),我也会避开它们,因为如果你需要移植到另一个系统,还有一件事要担心。

请参阅下面的评论“Why don't we use (void) in main?”进行一些有趣的讨论。

另一答案

如果你的书说void main()它是非常过时的,是由一个白痴(或两者)写的

编辑:好,除非你是一个非常不可能的系统,你有一个独立的主要 - 见Why is the type of the main function in C and c++ left to the user to define?

另一答案

void main()无效C. int main()是。这是主要的区别。

以上是关于int main()vs void main()in C [duplicate]的主要内容,如果未能解决你的问题,请参考以下文章

#include<stdio.h> void convert(int n) int i; if((i=n/10)!=0) convert(i); putchar(n%10+’

#include<stdio.h> main() int i,c,num=0,word=0; char string[81]; gets(string); for(i=0;c=string

void main(), int main() 和int main(void)的区别

C语言中void main和int main有啥区别

int main() 和 int main(void) 之间的区别?

用 int main(void) 编译失败; main(int argc, char *argv[]) 成功。为啥?