关于void main和int main(C++)

来源:百度知道 编辑:UC知道 时间:2024/06/07 06:47:17
int main()函数 是一个整型函数,给操作系统返回一个状态值(整型,例如0等)让操作系统明白这个程序执行的状态,比如执行这个程序后下一步可能要根据这个返回值做分支处理,如果主函数的返回值就是0,那么主函数是正常退出的. 用void的话,主函数异常退出和正常退出就无法区别了

o(∩_∩)o...(但是我还是不清楚 怎么判断是否正确执行的程序与否 高手指点下呗 )o(∩_∩)o...
就是说 如果是void main 程序运行出错 和 int main 运行出错 会有什么样的区别呢?

得到了你想要的结果或者是程序根据代码逻辑完全执行完毕,而中间没有异常抛出。。。
如果是int main()时,就要求系统在程序结束时返回一个整形的直,所以你在代码的最后加上一个返回语句:return DE.当系统接受到你的这个直时,就会知道你的程序完全执行完毕了并且成功了。
如果是void main()时,则无返回要求。。。

对你来说:
int main(),系统会报错,然后你的运行程序将中止。
void main() ,系统会报错,但运行程序不会中止。

dos下
如 名字 a.exe

运行

a.exe

使用 error 可以返回 int main的返回值

if errorlevel=0 then echo 运行成功

全文如下

dir>a.exe
dir>if errorlevel=0 then echo 运行成功

c语言标准里main 类型 应该是 int, void 不规范
一般正确执行退出值为0,异常退出值为1
异常退出 比如 找不到需要的数据文件

对于void main编译器会自动改成返回0的int main

另外Windows里进程的返回值其实是ExitProcess提供的。main返回的时候会调用ExitProcess。你可以主动调用ExitProcess提供返回值。

--

一般发生异常的时候,C运行库自己就会调用ExitProcess把错误返回。如果是你内部逻辑的错误,也可以自己调用ExitProcess返回错误。这个和用int main返回的错误对于系统来说是没有区别的。