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)的区别