對於具有非 void 返回型別的函式,沒有 return 語句

在具有非 void 的返回型別的函式中省略 return 語句是未定義的行為

int function() {  
    // Missing return statement
} 

int main() {
    function(); //Undefined Behavior
}

大多數現代編譯器在編譯時會針對這種未定義的行為發出警告。

注意: main 是規則的唯一例外。如果 main 沒有 return 語句,編譯器會自動為你插入 return 0;,因此可以安全地將其刪除。