Una dichiarazione di ritorno fa sì che l'esecuzione lasci la subroutine corrente e riprenda nel punto nel codice immediatamente dopo la chiamata della subroutine, noto come indirizzo di ritorno. L'indirizzo di ritorno viene salvato, generalmente nello stack di chiamate del processo, come parte dell'operazione di esecuzione della chiamata di subroutine. Alcuni linguaggi di programmazione consentono a una funzione di specificare uno o più valori di ritorno da restituire al codice che ha chiamato la funzione.