对于具有非 void 返回类型的函数,没有 return 语句
在具有非 void
的返回类型的函数中省略 return
语句是未定义的行为。
int function() {
// Missing return statement
}
int main() {
function(); //Undefined Behavior
}
大多数现代编译器在编译时会针对这种未定义的行为发出警告。
注意: main
是规则的唯一例外。如果 main
没有 return
语句,编译器会自动为你插入 return 0;
,因此可以安全地将其删除。