3 回答
TA贡献1813条经验 获得超2个赞
你其实问了一个很复杂的问题,牵涉到一个应用程序的生死过程,给你简单讲解如下:
(1)一个Windows应用程序的执行过程是:
操作系统调用C/C++运行期启动函数->启动函数做完所有初始化工作后->调用应用程序进入点函数(即我们的主函数)
(2)而主函数返回时->启动函数便调用C/C++运行期的exit函数。
(3)通常我们的主函数有这样一个整型返回值,其意义为:当主函数返回时,这个返回值就会传递给这个exit函数作为参数,exit函数先做完所有清理工作,然后调用操作系统的ExitProcess函数并将返回值传递给它,这使得操作系统能够撤销进程并设置退出代码。通常0表示正常返回,非零的其他值表示出现错误。
(4)我们的主函数可以定义为类似void main()这个样子,即无返回值,那么这个时候就不能用return语句把退出代码传递给父进程或操作系统,此时操作系统可以撤销进程但不会设置退出代码。当然在这种情况下,你还是有办法设置退出代码,那就是显式地调用exit(退出代码)。
int main()
{
float a = 1.0;
printf("%f", a); // 在标准输出设备(一般为计算机的显示器)上,输出a的值
return 0; // 正常返回
}
TA贡献1827条经验 获得超7个赞
int main()
是指main()它会有return语句,并且return的是一个int 类型的东东。如程序里面有
int a;
return a;
这种的。
但大多是void main()的。即无返回值。
- 3 回答
- 0 关注
- 1131 浏览
添加回答
举报