# return 0; `return 0` 是什麼呢? 在`C++`中,`return 0;`的主要作用是表示函式(特別是 main 函式)正常結束並回傳狀態碼 $0$ 給作業系統。這裡的 $0$ 一般代表程式成功執行,沒有發生錯誤。 ## 細說 `main` 函式中的` return 0; `在 `C++` 程式中,`main` 函式是程式的進入點,當 `main` 執行完畢時,它會返回一個整數值給作業系統。 ### 通常: `return 0;` 代表程式成功執行。 `return` 非 $0$ 值; (如 `return 1;`)代表程式發生某些錯誤,錯誤碼可以由開發者自行定義。 eg. ```cpp= #include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; // 正常結束 } ``` 如果沒有明確寫 `return 0;`,大部分的 `C++` 編譯器會自動在 `main` 結束時補上 `return 0;`,因為 C++$11$ 之後 `main` 預設回傳 $0$。 ## 函式 其他函式中的 `return` 在一般函式中,`return` 用來回傳函式計算的結果。 eg. ```cpp= int add(int a, int b) { return a + b; // 回傳兩數相加的結果 } int main() { int sum = add(3, 4); cout << sum << endl; // 輸出 7 return 0; } ``` 在函式的講義會提到更多喔!!!!!! ## 補充 > `exit(0);` **vs** `return 0;` `return 0;` 只會結束當前函式(通常是 main)。 `exit(0);` 則是直接終止整個程式,無論在哪裡呼叫它。 eg. ```cpp= #include <iostream> #include <cstdlib> // exit() 所需的標頭檔 using namespace std; int main() { cout << "程式開始" << endl; exit(0); // 直接結束程式 cout << "這行不會被執行" << endl; return 0; } ``` 在這段程式碼中,`exit(0);` 會直接終止程式,因此 **"這行不會被執行"** 不會出現在輸出中。