tn4ehi
(usa Outra)
Enviado em 05/08/2012 - 04:53h
O return neste caso simplesmente "retorna" para a função que a chamou, nenhum valor é passado. No caso do primeiro return, ele está sendo usado para sair do while e voltar a função que chamou esta. Existe o comando break que serve para isso, mas um break neste caso levaria a execução da func2(), o que não é o esperado se o if é verdadeiro.
Repare que a definição da função é void (void func1()) então não poderia haver retorno, tem de ser indefinido.
Geralmente quando você declara a função main, por exemplo, você declara como int (int main()) porque ela retorna um numero (return(0)) que indica se a execução foi ou não bem sucedida. 0 = EXIT_SUCCESS e 1 = EXIT_FAILURE
Você pode retornar qualquer coisa com o return, desde que isso tenha sido declarado antes.