是关于C语言中“return 0"的问题
的有关信息介绍如下:main的返回值是返回给操作系统的,习惯上把程序正常结束的返回值指定为0(仅仅是习惯,开发者可以指定任何值)而异常结束则返回其他的值,在操作系统下可以访问相关环境变量取得程序的返回值来确定发生了什么情况(windows下该环境变量的名称是 "ERRORLEVEL" )
比如可用 echo %ERRORLEVEL% 命令来显示最后一条命令的返回值
举个例子
打开cmd窗口
执行 dir 命令
再执行 echo %errorlevel% 会显示0,说明上一个dir正常结束
再执行dir胡乱加个不存在的参数
再执行 echo %errorlevel% 会显示1 说明上一个dir发生了异常,返回1的含义就看开发者的意图了,对于windows这样的大型商业软件可以查命令手册获得返回含义,这里的1就是参数不正确的意思
再胡乱执行一个不存在的命令
再执行 echo %errorlevel% 会显示9009,说明最后一条命令发生9009异常:不存在的命令文件,这是cmd shell返回的
如图:
总之,main的返回值就是给操作系统提供情况的(因为main是被操作系统调用的),和局部函数一样,返回值是提供给调用它的函数的