7.2 main 也是函式

學會定義函式之後,回頭看你從第一單元寫到現在的 main()——它其實就是一個函式:名稱叫 main、沒有參數、回傳型態是 int。它特殊的地方只有一個:main 是整個程式的進入點,程式一執行就從 main 的第一行開始跑。

main 的回傳值代表「程式有沒有正常結束」

main 回傳的整數是給作業系統看的:回傳 0 代表程式正常結束,非 0 代表發生了異常。這就是為什麼很多環境在程式跑完時會顯示:

Program exited with code 0.

也是為什麼我們每支程式的最後都寫 return 0;

在 main 的任何地方 return 0;,就能提早結束程式

return 會立刻結束「所在的函式」——套用在 main 上,就是立刻結束整個程式。這在「特殊情況先處理完就收工」的題目裡非常好用,通常搭配 if

#include<iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    if (n == 0) {
        cout << 0 << "\n";
        return 0;  // 特殊情況先輸出答案,直接結束程式
    }
    // 下面處理一般情況,不用再包一層 else
    cout << 100 / n << "\n";

    return 0;
}

執行結果(輸入 0):

0

執行結果(輸入 4):

25

把特殊情況「先解決、先離開」,主要邏輯就不必多包一層 else,整支程式的縮排更淺、更好讀。