在C语言中,void main( )与int main( )有什么区别?

如题所述

main函数原型常见的有以下几种
void main()

main()

int main()

int main(void)

int main(int argc,char *argv[])

void main表示函数没有返回值,而main则有返回值。只不过给省略了而已!函数没有声明类型时默认是为整型的,main等同于int main 。自定义函数时如果主函数用的是void main,就不能使用return把值返回给主函数,会报错

C语言程序在编译阶段,main函数与编译器提供的一些分配资源的函数链接在一起,程序装入内存后,由这些函数完成分配系统资源,初始化栈堆等操作,然后调用main函数,完成程序功能。也就是说main函数在这里和其他我们调用的函数并无区别,所以int main函数返回整数值,如果main函数返回非0值,就会被调用main函数的函数当做错误代码,进行一些相关处理。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-04

对于电脑里某个文件夹下的可执行程序exe,如果你双击它运行,那么void main( )与int main( )并没什么区别,尤其是在windows系统上,大家都喜欢双击程序运行就行了。

如果你用过unix系统,或者说在windows上用cmd命令行(早期计算机都是敲命令执行程序的),总之都是靠命令行执行程序,那么命令行运行完程序会得到程序内部main返回的返回值,这时void main( )与int main( )就有区别,一个没有返回值,一个有返回值。有返回值的可以根据返回值决定后面命令行的逻辑,尤其是在unix系统上的脚本程序中常见,脚本程序中会通过命令行依次执行多个程序,有可能下一个程序是否执行或者怎么执行依赖上一个程序的执行结果,此时上一个程序main函数的返回值就有用了,用处就在这里。

本回答被网友采纳
第2个回答  2018-05-04
没什么区别,只是两个不同的入口