Ir ao conteúdo
  • Cadastre-se
Fabio Aragao

Utilização do return

Recommended Posts

Bom dia pessoal.

 

Gostaria de aprender mais sobre o Return na linguagem C.

quando utilizar, porque utilizar.. alguma material legal para poder ler sobre o assunto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
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.. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é difícil. Também não sou bom em explicar algumas coisas rsrs.

Tem algum exemplo de algoritmo aí para resolvermos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Math.Pi Este é um dos que tenho que resolver.. em relação a função.. dentro do main() não pode haver codigo, apenas as chamadas para as funções...

 

http://forum.clubedohardware.com.br/topic/1166988-preenchimento-e-leitura-matriz-tridimensional-em-c/

 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Return como um break. Esqueci disso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
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 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×