Управление программой никогда достигает return 2;
, и оптимизирующий компилятор удалит его.
Единственный известный мне язык, который настолько безумен, чтобы иметь два доступных оператора return
, - это Java:
try {
return 1; // this is evaluated
} finally {
return 2; // this is the one actually returned
}