对于具有非 void 返回类型的函数,没有 return 语句

在具有非 void 的返回类型的函数中省略 return 语句是未定义的行为

int function() {  
    // Missing return statement
} 

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

大多数现代编译器在编译时会针对这种未定义的行为发出警告。

注意: main 是规则的唯一例外。如果 main 没有 return 语句,编译器会自动为你插入 return 0;,因此可以安全地将其删除。