Como criar funções que retornam valores em programação C

A grande maioria das funções da linguagem C retornar um valor- ou seja, elas geram alguma coisa. Seu código não podem utilizar os valores, mas eles são devolvidos de qualquer maneira.

Uma função que retorna um valor ilustra uma função que é enviado um valor e, em seguida, retorna outro valor. Essa é a maneira a maioria das funções funcionam, apesar de algumas funções retornam valores sem receber necessariamente. Por exemplo, getchar () retorna de entrada, mas não requer quaisquer argumentos. Em uma versão mais apertado, a função de conversão () aceita um valor Fahrenheit e retorna seu Celsius equivalente.

Uma função que retorna um valor

#include flutuador converter (float f) -int main () {temp_f float, temp_c-printf ( "A temperatura em Fahrenheit:") -scanf ( "% f", temp_f) -temp_c = converter (temp_f) -printf ( "% .1fF é% .1fC n ", temp_f, temp_c) -Retornar (0) -} convertido float (float f) {float tt = (f - 32) / 1,8-retorno (t) -}

Linha 3 em uma função que retorna um valor declara protótipo a função de conversão (). A função requer um valor de ponto flutuante e retorna um valor de ponto flutuante.

A função de conversão () é chamado na linha 11. Seu valor de retorno é armazenado na variável temp_c em que a mesma linha. Na linha 12, printf () exibe o valor original e a conversão. O espaço reservado .1f é usado. Ela limita a saída de ponto flutuante para todos os números à esquerda do decimal, mas apenas um número à direita.

A função de conversão () começa na linha 16. Ele usa duas variáveis: f contém o valor passado para a função, uma temperatura em graus Fahrenheit. Uma variável local, t, é usada para calcular o valor da temperatura Celsius, declarado na Linha 18 e atribuído pela fórmula na linha 20.

A linha 20 converte o valor Fahrenheit f no valor t Celsius. Os parênteses em torno f - 32 direta o compilador para realizar essa parte do cálculo em primeiro lugar e, em seguida, divida o resultado por 1,8. Se omitir os parênteses, 32 é dividido por 1,8 em primeiro lugar, o que leva a um resultado incorrecto.

o resultado da função é enviada de volta na linha 21, usando a palavra-chave de retorno.

Exercício 1: Digite o código-fonte de uma função que retorna um valor em seu editor. Construir e executar.

Funções que retornam valores podem ter esse valor armazenado em uma variável, como mostrado na linha 11 de uma função que retorna um valor, ou você também pode usar o valor imediatamente. Por exemplo:

printf ( "%. 1FF é% .1fC n", temp_f, converter (temp_f)) -

exercício 2: Editar o código fonte de uma função que retorna um valor de modo que a função de conversão () é usado imediatamente na função printf (). dica: Isso não é a única linha que necessita de corrigir-se para fazer a mudança completa.

Você também pode perceber que a função de conversão () em si tem um artigo redundante. Você realmente precisa do t variável em função de que?

Exercício 3: Editar o seu código-fonte do Exercício 2, desta vez apara a t variável da função de conversão ().

Honestamente, você pode simplesmente eliminar a função de conversão () completamente porque é apenas uma linha. Ainda assim, o benefício de uma função como essa é que você pode chamá-lo de qualquer lugar em seu código.

Então ao invés de repetir a mesma coisa uma e outra, e terá que editar esse pedaço repetida de texto repetidamente quando algo muda, você simplesmente criar uma função. Tal coisa é perfeitamente legítimo, e é feito o tempo todo em C.

A versão mais apertado mostra o resultado final para Exercício 3.

A VERSÃO mais apertado

#include flutuador converter (float f) -int main () {float temp_f-printf ( "A temperatura em Fahrenheit:") -scanf -printf ( "% f", temp_f) ( "% 1FF é% .1fC n". , temp_f, converter (temp_f)) - retorno (0) -} flutuador converter (float f) {return (f - 32) / 1.8-}

matemática a função de conversão () é comprimido a uma linha, então uma variável de armazenamento temporário (t da Linha 18 em uma função que retorna um valor) não é necessária.

menu