讀到這里,大家應該了解了main函數返回值的來龍去脈了。下面介紹一下main函數返回值的作用以及如何獲得這個返回值。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”,則程序異常退出,dir不會執行。順便提一下,如果輸入a || dir的話,則表示如果a異常退出,則執行dir。
如果是在linux下,在shell終端下輸入echo $?,則顯示main函數的返回值。例如:
MainTest.c
#include <stdio.h>
int main()
{
printf("I am main function./n");
return 0;
}
http://blog.csdn.net/piaojun_pj/article/details/5986516