为什么说一个C语言源程序只能并且必须只有一个main()函数

如题所述

main()是你自己的程序或者整个程序(若干人编写的)运行的起点

C这整个系统除了自己编写的部分外,还有一部分,是编译系统定义的
自己编写的部分,从main()函数启动运行一般来说,也在main()函数里结束。
这种情况是正常的,而且没有错误的,程序运行情况。
通常我们并不是从头编写整个程序(比如汇编那样,把一切掌握在自己手中)
所以,系统为了简化我们编程,对一些硬件相关的,操作系统相关的,还有一些是编译器相关的代码,写在库里,其中有些初始化代码,会在main()函数启动前运行,这个启动代码会调用我们编写的main()函数,所以其它函数可以任意编写,main()的格式是固定的,是我们自己编写的代码,我们自己的程序启动的地方,通常也是我们自己的程序结束的地方。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-15
计算机其实在同一瞬间只能执行同时执行一条命令,看起来程序有那么多功能、那么多代码,其实计算机cpu执行起来是按优先级顺序执行的,并不能同时执行两条或者多条命令,所以给计算机写的程序必须要有一定的规则和顺序,main函数是c语言程序的入口地址,有且只有一个,如果多个main函数的程序存在,计算机执行之后要么是后面的main函数的地址将前面的覆盖掉,到最后只行政一个入口地址,要么若多入口程序真的存在..计算机是不会自己做出选择的,,所以..会死机吧..或者随机执行个入口了...
这样的话写程序就违反了自己写程序的初衷。
第2个回答  2012-09-15
main()函数是入口,如果没有入口,程序就没法运行,如果有多个main()函数,就不知道从哪个开始执行了,所以只有一个。
第3个回答  2012-09-15
一个大工程运行首先得找到入口啊,main()函数就是这个入口,所以程序就从main函数开始执行,要是有多个main的话程序就不知道从那里开始执行了,这样不就乱套了吗本回答被网友采纳
第4个回答  2012-09-15
因为程序第一个执行的函数就是main函数,所以只能有一个并且必须有一个