在linux下就一目了然了,SHELL脚本就靠这个
而且直接 echo $? 就能直上个程序的退出值
windows下有点小麻烦
以下是引用TonyDeng在2015-3-2 21:12:06的发言:
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即可執行之。