Cómo crear funciones que devuelven valores de programación c

Una gran mayoría de las funciones del lenguaje C regresar al valor agregado, es decir, que generan algo. El código no puede utilizar los valores, pero son devueltos de todos modos.

Una función que devuelve un valor ilustra una función que se envía un valor y devuelve otro valor. Esa es la forma en la mayoría de las funciones de trabajo, aunque algunas funciones devuelven valores sin recibir necesariamente. Por ejemplo, getchar () devuelve entrada pero no requiere ningún argumento. En una versión más estricta, la función de conversión () acepta un valor Fahrenheit y devuelve su equivalente Celsius.

Una función que devuelve un valor

#include convert flotador (float f) -INT main () {temp_f flotador, temp_c-printf ("La temperatura en grados Fahrenheit: ") -scanf ("%F",&temp_f) -temp_c = convert (temp_f) -printf ("% .1fF es% .1fCn", Temp_f, temp_c) -Retorno (0) -} convert flotador (float f) {float t-t = (f - 32) / 1,8-retorno (t) -}

La línea 3 en una función que devuelve un valor declara el prototipo de la función de conversión (). La función requiere un valor de punto flotante y devuelve un valor de coma flotante.

La función de conversión () es llamado en la línea 11. Su valor de retorno se almacena en la variable temp_c en esa misma línea. En la línea 12, printf () muestra el valor original y la conversión. Se utiliza el marcador de posición .1f. Limita la salida de punto flotante a todos los números a la izquierda del punto decimal, pero sólo un número a la derecha.

La función de conversión () comienza en la línea 16. Se utilizan dos variables: F contiene el valor pasado a la función, una temperatura en grados Fahrenheit. Una variable local, t, se utiliza para calcular el valor de temperatura Celsius, declarado en la línea 18 y asignado por la fórmula en la línea 20.

Línea 20 convierte el valor Fahrenheit f en el valor t Celsius. Los paréntesis que rodean f - 32 directo el compilador para realizar esa parte del cálculo primero y luego dividir el resultado por 1,8. Si se omite el paréntesis, 32 se divide por 1,8 en primer lugar, lo que conduce a un resultado incorrecto.

El resultado de la función se envía de nuevo en la línea 21 mediante el uso de la palabra clave de retorno.

Ejercicio 1: Escriba el código fuente de una función que devuelve un valor en su editor. Generar y ejecutar.

Las funciones que devuelven valores pueden tener ese valor almacenado en una variable, como se muestra en la línea 11 de una función que devuelve un valor, o también pueden utilizar el valor inmediatamente. Por ejemplo:

printf ("% .1fF es% .1fCn", Temp_f, convertir (temp_f)) -

ejercicio 2: Editar el código fuente de una función que devuelve un valor de modo que la función de conversión () se usó inmediatamente en la función printf (). Insinuación: Eso no es la única línea que debe arreglar para hacer el cambio completo.

También se puede notar que la función de conversión () sí tiene un elemento redundante. Lo que realmente necesita el t variable en esa función?

Video: Tutorial Objective C - 22 - Funciones con retorno de valores

Ejercicio 3: Editar el código fuente del Ejercicio 2 de nuevo, esta vez pelado el t variable de la función de conversión ().

Honestamente, usted puede simplemente eliminar la función de conversión () por completo porque es sólo una línea. Sin embargo, el beneficio de una función como la que uno es que se puede llamar desde cualquier parte del código.

Video: 43. Programación en C - Funciones - Ejercicio convertir grados celsius a fahrenheit y kelvin

Así que en lugar de repetir la misma cosa una y otra vez, y tienen que editar ese pedazo repetido de texto una y otra cuando algo cambia, sólo tiene que crear una función. Tal cosa es perfectamente legítimo, y se hace todo el tiempo en C.

Una versión más estricto muestra el resultado final para el ejercicio 3.

UNA VERSIÓN TIGHTER

#include flotador convert (float f) -INT main () {flotar temp_f-printf ("La temperatura en grados Fahrenheit: ") -scanf ("%F",&temp_f) -printf ("% .1fF es% .1fCn", Temp_f, convertir (temp_f)) - retorno (0) -} flotador convert (float f) {return (f - 32) / 1.8-}

matemáticas de la función de conversión () se comprime a una línea, por lo que una variable de almacenamiento temporal (t de la línea 18 en una función que devuelve un valor) no es necesario.

Artículos Relacionados