在函数中有两个return语句,哪个return语句将执行?

sri*_* pv 0 c return

int main()
{  
   int f=fun();
   ...
}
int fun()
{
   return 1;
   return 2;
}
Run Code Online (Sandbox Code Playgroud)

在上面的程序中,当从main函数调用一个函数并且该函数包含两个return语句时,

  1. 两个返回语句都会执行吗?要不然
  2. 如果只执行一个return语句,为什么?那么另一个返回语句是否执行呢?

Bat*_*eba 6

程序控制永远不会到达return 2;,优化编译器会将其删除.

我所知道的唯一一种疯狂的语言return就是Java:

try {
    return 1; // this is evaluated
} finally {
    return 2; // this is the one actually returned
}
Run Code Online (Sandbox Code Playgroud)