[英]How to cout the return value of the main function “main()” in c++?
如何計算主函數“main()”的返回值? 我只是想在成功執行時檢查main函數的返回值是否真的為“0”。
謝謝!
您的意思是要測試以下內容是否返回 0?
int main() {
int rc = doSomething();
return rc;
}
你可以這樣做:
int main() {
int rc = doSomething();
std::cout << rc << "\n"; // Just print it out before returning
return rc;
}
但最好從運行應用程序的位置檢查shell 中的返回值:
在 UNIX/Linux 上(在 shell 中):
> ./my_app
> echo $?
0
在 Windows 上(在命令提示符下):
> my_app.exe
> echo %ERRORLEVEL%
請注意,在 C++ 中,您不能攔截對main()
調用或自己調用它。
3.6.1 主要功能
函數
main
不得在程序中使用。
因此,您不應嘗試包裝main()
調用並打印其返回值。 即使這樣可行,它也不是可移植的(更不用說您實際上最終會運行兩次應用程序)。
您可以使用 unix 命令來檢查先前執行的命令的返回值,在這種情況下是您的 c 程序。
echo $?
外殼變量 $? 是上一條命令的返回碼。
如果您想檢查代碼中的值,只需在返回之前 cout 值。
main
很特別,主要是因為你不能自己調用它。 它返回的值被傳遞回操作系統,它會做任何適當的事情。 C++ 標准無法規定操作系統如何處理各種返回值,因此它提供了一個抽象:您可以使用return EXIT_SUCCESS
表示成功,您可以使用return EXIT_FAILURE
表示失敗。 (您也可以使用return 0
表示return EXIT_SUCCESS
;程序的運行時系統必須正確處理此問題)。 宏EXIT_SUCCESS
和EXIT_FAILURE
的值適用於編譯程序的操作系統。 雖然0
是EXIT_SUCCESS
的典型值,但操作系統肯定可能需要不同的值,並且EXIT_SUCCESS
將具有適合該操作系統的值。 因此,即使您可以檢查從main
返回的值,它也不會告訴您太多信息,也不知道操作系統對成功程序的期望值是多少。
在main()
之后輸入另一個函數,然后輸入main();
在那個函數中,有一個問題,main 將是第一個被自動調用的函數。 雖然,我確定有辦法解決它。 這就是您調用 main 或返回 main 的方式。 希望這會有所幫助。
int main() {
int i = 5;
cout << i;
}
int second() {
main();
}
歡迎使用堆棧溢出!
如果是0,那么它的0你是誰指定自己函數的返回值的一個。 如果您不確定,請添加困擾您的代碼和/或問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.