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,整支程式的縮排更淺、更好讀。