Ir ao conteúdo
  • Cadastre-se

Utilização do return


Posts recomendados

  • Membro VIP

@Fabio Aragao

Bom dia.

 

Como você já deve ter aprendido, o uso de funções simplifica muito o código, evitando repetições de algumas instruções variadas vezes em um mesmo programa. Por exemplo: preciso fazer um cálculo qualquer dentro de um programa. Aquele cálculo também será utilizado em outras partes do programa. Então eu crio uma função/método que fará um cálculo só. Onde eu precisar usar o cálculo, eu só chamarei a função "calcula()". É aí que entra o return. Eu quero pegar o resultado desse cálculo em um prinft ou armazenar em uma variável. Eu preciso que a função que me retorne o resultado do cálculo.

 

Função com retorno inteiro:

 

int soma(int num1, int num2){
  int resultado = num1 + num2;

return resultado;
}

Observe o código acima. Eu posso usar a função soma em qualquer parte do programa em que eu precise somar 2 números.

Assim:

printf("informe numero 1");
scanf("%d",numero1);
printf("informe numero 2");
scanf("%d",numero2);

prinft("O resultado da soma é %d", soma(numero1, numero2)); // aqui eu chamo a função que retornará o resultado do cálculo.

 

Mais exemplos:

http://www.cprogressivo.net/2013/03/Como-usar-o-comando-return-para-obter-resultados-de-funcoes-em-C.html

Link para o comentário
Compartilhar em outros sites

@Math.Pi Boa explicação.. agora tenho uma outra.. e no caso da utilização do return 1 e return 0

Sei que seria uma verificação  booleana, mas pode ser utilizada em diversos procedimentos, se retornar 1.. faça isso, se retornar 0 faça aquilo...

O meu maior problema é interpretar toda essa situação.. pois na cabeça é uma coisa, passar para o algoritmo trava... eu me enrolo muito com funções.. passagem de parametros e etc.. 

Link para o comentário
Compartilhar em outros sites

Bem.... vamos explicar como funciona return.

Muitos programadores novatos acham que a função do return é a de apenas retornar um número, porém na realidade, return tem duas funções.

 

A primeira função do return é interromper a função, isso pode ser feito inclusive sem retornar valor algum, veja no exemplo seguinte:

#include <stdio.h>
#include <stdlib.h>

void foo(char letra){
    if(letra=='a'){
        printf("Letra 'a'\n");
        return; //se pasamos 'a' termina aqui sem retornar nada
    }
    
    //se a letra é 'a' não se executa o a parte de abaixo da funçao
    if (letra=='b'){
        printf("Letra 'a'\n");
    }
    return;
}

int main (){
    
    foo('a');
    
    getchar();
    return 0;
}

A outra função do return é a que todo mundo conhece, retornar um valor porém combinado com a função anterior, ao encontrar um return 0 por exemplo, o programa se interrompe nesse ponto e retorna o zero.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@1freakday

1 hora atrás, 1freakday disse:

Uma função sempre vai poder retornar seu tipo de função, assim se declararmos:

 

tipo funçao (){

retorno tipo;

}

 

Podemos usar vários tipos, struct, char, int, double, float e ate tipos personalizados.

Como assim ?? tem como explicar melhor ?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
49 minutos atrás, Fabio Aragao disse:

@1freakday

Como assim ?? tem como explicar melhor ?

 

função do tipo inteiro retorna um inteiro. Função de tipo char retorna um char. E assim por diante.

 

int soma(int num1, int num2){  //função com retorno inteiro

  int resultado = num1 + num2;

  return resultado;  //resultado deve ser do tipo inteiro

}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...