在C语言中,主函数是不是必须要有返回值?

2024-11-15 15:06:02
推荐回答(3个)
回答(1):

在C语言中,主函数必须要有返回值。

main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。

在C语言标准中强制要求main函数的返回值类型为int,main函数的返回值是传递给操作系统,让操作系统判断程序的执行情况(是正常结束还是出现异常)。

扩展资料:

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

main函数的返回值应该定义为int类型,虽然在一些编译器中,void main可以通过编译(如vc6),但并非所有编译器都支持void main,因为标准中从来没有定义过void main。g++3.2、dev C等环境中如果main函数的返回值不是int类型,根本无法通过编译。而gcc3.2则会发出警告。

回答(2):

按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值
但是由于历史原因,很多地方可以看到没有返回值的main。比如直接main()或者说void main() 但是这样一般编译器也不会认为错误
不过建议还是写标准的C的main函数。最好有一个返回值。0表示正常退出

打字不易 谢谢采纳

回答(3):

不是所有的都需要返还值