main()函數返回碼在操作系統的使用
C/C++程序main()函數有一個返回值,通常返回整數。一般教材都說程序正常結束返回零即可,異常則返回非零,但其實這個返回值,到底怎麽用,很多人是不瞭解的。下面給個示例。首先寫一個程序,代碼如下:
程序代码:
#include <stdio.h> #include <conio.h> int main(void) { int ch; do { printf_s("\nPress A or B: "); ch = _getch(); } while (ch != 'A' && ch != 'a' && ch != 'B' && ch != 'b'); putchar(ch); putchar('\n'); return (ch == 'A' || ch == 'a') ? 0 : 1; }
這段程序,是在控制臺上接收用戶一個按鍵,按下A則返回0,按下B則返回1,僅此而已。
編譯這個程序,獲得.exe文件,轉到這個文件所在的目錄,用記事本寫一個go.cmd文本文件,内容如下:
程序代码:
@echo off :start test_04 @echo ExitCode is %errorlevel% if not errorlevel 1 goto start :end
這個指令文檔的意思,是執行剛才編譯得到的.exe程序(我用的文件名是test_04.exe,改爲自己實際的名稱),在程序結束後,首先輸出其返回值,即%errorlevel%,然後,判斷這個返回值是否爲1,衹要不是1,就重複執行;換句話説,就是衹有用戶輸入了B,即返回值爲1時,才能結束這個指令序列。
在文件管理器中,雙擊go.cmd即可執行之。
[ 本帖最后由 TonyDeng 于 2015-3-2 21:13 编辑 ]