main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;
返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。
下面我们在winxp环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}
然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车.
就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。
但是如果改成“return -1”,或者别的非0值,重新编译后输入“a && dir”,则dir不会执行。
因为&&的含义是:如果&&前面的程序正常退出,则继续执行&&后面的程序,否则不执行。
也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。
如果你有兴趣,也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。
顺便提一下,如果输入a || dir的话,则表示如果a异常退出,则执行dir。