簡體   English   中英

c++中如何計算main函數main()的返回值?

[英]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 $?

外殼變量 $? 是上一條命令的返回碼。

如何在UNIX中找到最后執行的命令的返回值?

如果您想檢查代碼中的值,只需在返回之前 cout 值。

main很特別,主要是因為你不能自己調用​​它。 它返回的值被傳遞回操作系統,它會做任何適當的事情。 C++ 標准無法規定操作系統如何處理各種返回值,因此它提供了一個抽象:您可以使用return EXIT_SUCCESS表示成功,您可以使用return EXIT_FAILURE表示失敗。 (您也可以使用return 0表示return EXIT_SUCCESS ;程序的運行時系統必須正確處理此問題)。 EXIT_SUCCESSEXIT_FAILURE的值適用於編譯程序的操作系統。 雖然0EXIT_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM