void main()和int main()区别是什么?

作者&投稿:矣尝 (若有异议请与网页底部的电邮联系)
~

void main 和 int main的区别就是有无返回值。

在int main 可以出现非 int 类型的东西。在写代码时,一个函数要么有返回值,要么没有返回值没有返回值就用void来表示。 main函数同样的,在没有返回值时加个void 。有的编译器必须main要有返回值 int , 那就写成int main 。

至于什么时候需要哪种写法,不必有这种顾虑,你可以一律都写成 int main ,然后在方法体中 最后加个return 0 ;就行了。

void main 和 int main 在作用上其实没什么区别啊,只是有的严谨的编译器必须要main有int 返回值而已,这两种写法跟自定义的函数没任何关系。

扩展资料:

main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)C/C++中从来没有定义过void main()。

C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着The definition void main() {/*...*/} is not and never has been C++, nor has it even been C.(void main() 从来就不存在于C++或者C)。

在C和C++中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 或者是void main()。

然而这是错误的!main函数的返回值应该定义为int类型,C和C++标准中都是这样规定的。虽然在一些编译器中,void main可以通过编译(如vc6),但并非所有编译器都支持void main,因为标准中从来没有定义过void main。

g++3.2、dev C++等环境中如果main函数的返回值不是int类型,根本无法通过编译。而gcc3.2则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用int main。

参考资料:main函数_百度百科



在C语言中,void main()和int main()都是合法的函数原型,但它们之间存在一些差异。以下是关于这两种函数的一些重要知识点:
1. 函数原型:void main()函数没有返回值,而int main()函数有一个返回值。根据C语言的标准,main()函数应该有一个返回类型,通常是int类型。
2. 参数:根据C语言的标准,main()函数可以接受两个参数,一个是argc(表示命令行参数的数量),另一个是argv(表示命令行参数的数组)。然而,在实际编程中,这两个参数往往被忽略。
3. 返回值:void main()函数没有返回值,这意味着它不能返回一个状态码给操作系统或其他外部实体。相反,int main()函数可以返回一个整数值,通常用于表示程序的状态(如0表示成功,非零表示失败)。
4. 兼容性:虽然void main()函数在某些编译器上是可以工作的,但它并不符合C语言的标准,因此在跨平台或兼容性的方面可能存在一些问题。相比之下,int main()函数更符合标准,更易于移植。
5. 程序结束:在void main()函数中,程序会在执行完最后一个语句后自然结束。而在int main()函数中,如果希望程序立即结束,可以显式地返回一个值,例如return 0;。
综上所述,int main()函数更适合用于C语言编程,因为它符合C语言的标准,具有更好的兼容性和可移植性,并且可以向外部实体报告程序的状态。然而,在某些情况下,void main()函数也可能是可行的选择,尤其是对于小型、简单的程序。


平远县17223467590: 在c语言中,void main()与int main()有什么区别?为什么有时还直接用main()? -
壹青欧必: 区别就是有无返回值.写代码时,函数有返回值,就用int,没有返回值就用void.有的编译器必须main要有返回值 int , 那就写成int main .你可以都写成int main ,然后在后面加个return 0 ;他俩在作用上没什么区别.

平远县17223467590: c语言里,void main与int main有什么区别? -
壹青欧必: 作为独立方法,返回值可以让外部程序处理,表示你的程序执行成功与否,便于移植. 对于你自己的程序而言,main作为唯一入口,void 和int没什么区别 另外 如果不声明返回值 直接 写 main 是默认返回值是int型

平远县17223467590: void main 和 int main有什么区别 -
壹青欧必: void是没有返回值.区别就是void main不用返回值,int main程序结束要返回一个int值

平远县17223467590: C语言中void main和int main有什么区别 -
壹青欧必: void main 和 int main的区别就是有无返回值啊 在int main 可以出现非 int 类型的东西 我们在写代码时,一个函数要么有返回值,要么没有返回值,没有返回值就用void来表示. main函数同样的,在没有返回值时加个void . 有的编译器必须main...

平远县17223467590: void main 与int main 的不同? -
壹青欧必: void main()没有返回值,int main() 返回值是整形.

平远县17223467590: void main和int mainvoid的区别 -
壹青欧必: 1、区别是main()函数是否有返回值.2、void定义的函数没有返回值,int定义的函数返回整型值.3、void,字面意思是“无类型”,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,有注释和限制程序的作用.

平远县17223467590: void main()和 int main() 有区别吗? -
壹青欧必: void main()和int main() 的区别就在于返回值. 在C程序中,常使用 void main() 这种形式. 而在标准C++程序中,需要使用 int main() 这种形式.这样需要主程序返回一值表示程序运行无误. 一般是这样的: int main() { //程序段 return 0; }现在大多数编译器是同时兼容c和c++的.虽然编译不会出错,但是养成良好的编程习惯很重要,按标准来吧.

平远县17223467590: int main() 与int main(void) 的区别是啥? -
壹青欧必: 没有本质上的区别. void main() 这么定义只是说明main函数没有返回值. int main(void)和int main()是一样的,括号里没有东西就相当于void,只是说明main函数有一个int类型的返回值. C语言的规范里面要求main函数需要返回一个int类型...

平远县17223467590: c语言 void main()与int main(void)有什么区别? -
壹青欧必: 站在实用性的角度:如果你不使用另一个应用程序来调用你正在编译的这个应用程序,并且想获得该程序的执行结果(返回值).那么对你来说是没有任何区别的.main 函数的返回值,用来告诉操作系统,这个程序的运行结果.例如,集成开...

平远县17223467590: C语言中,void main ,int main(void)和int main 有什么区别? -
壹青欧必: void main()是代表主函数不需要返回值 int main(void)返回值是int型数据,函数末尾需要ruturn语句.()中表示函数中传入的参数,括号为空表示不需要参数()和(void)都表示没有参数,是一样的

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网