c++中main函数的返回值的作用:
main函数的返回值就是运行其程序的这个进程的状态码,命令行程序常常通过判断相应命令(进程)的状态码来判断相应命令是结果是否正常。
【扩展】
VC++是允许void main这种形式的程序入口原型的,之所以允许这么做是有历史原因的,在最初的K&R C中main函数的原型为:main(),没有对返回值和参数做出明确规定,为此存在不同main函数原型扩展。
程序运行之后得出的结果可以传给系统,在cmd下面,运行一个程序,程序返回的值会传到%errorleve%环境变量中,例如:
#include
#include
int get_help();
int procedure();
int main(int argc,char* argv[])
{
if (!argv[1]) return procedure();
if (argv[1]==std::string("--help")) return get_help();
return -1;
}
int get_help() {
std::cout << "如果你输入Hello返回1,输入World返回2,其他的就返回3\n";
return 0;
};
int procedure() {
string str;
std::cin >> str;
if (str=="Hello") return 1;
if (str=="World") return 2;
return 3;
}
例如这个程序的名字main.exe,编译运行这个程序之后,用cmd的人就能用errorlevel这个变量了,例如我在cmd下运行这个程序并利用这个返回值(下面是一段cmd的批处理代码):
@echo off
REM REM是cmd的注释命令,所以本行代码会被忽略,下面我首先运行main.exe
main.exe
REM 下面我利用程序的返回值,下面是cmd的批处理代码
if errorlevel 3 echo 你胡来!
if errorlevel 1 echo 你在main.exe里输入的是Hello,返回值是:%errorlevel%
if errorlevel 2 echo 你在main.exe里输入的是World,返回值是:%errorlevel%
main()的返回值是个状态指示器,返回0表示程序运行正常,返回非0值通常表示运行过程异常,具体的异常类型可以通过返回不同的非0值来表示,这些非0值的意思对系统有依赖性。
返回值就是一个函数执行完成之后返回的最终结果,main函数的返回值类型与其他函数的调用或者返回值是毫无关系的,main函数的返回值是返回给执行这个进程的进程
这个只是入口函数,相当于大门,要靠这个函数进去!跟开你家的大门区别是一样的!至于开了大门是什么结果,你也可以知道了的!