Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Declaración, Tipo y Retorno | Funciones
Fundamentos de C

bookDeclaración, Tipo y Retorno

En la lección anterior, se aprendió la anatomía básica de las funciones:

main.c

main.c

copy
123456
func_type func_name(arguments_placeholder) { // The core functionality of the function // The resulting outcome after function execution return function_output; }

Declaración

Antes de utilizar una función, debe ser declarada. Llamar a una función antes de su declaración generará un error.

Se puede declarar toda la función al mismo tiempo que su definición (como se ilustró anteriormente) o utilizar un prototipo, que se abordará como un tema adicional al final de este segmento.

Tipos de funciones y valores de retorno

El tipo de la función informa al compilador sobre el tipo de dato del resultado de la función. Por ejemplo, si nuestra función calcula la suma de dos enteros, entonces anticipamos un entero como resultado.

main.c

main.c

copy
12345678
int sumFunction() { int number1 = 6; int number2 = 10; int result = number1 + number2; return result; }

Una discrepancia entre el tipo de dato y el tipo de retorno puede hacer que la función (o incluso todo el programa) no funcione correctamente.

main.c

main.c

copy
12345678
int sumFunction() { double number1 = 6.985; double number2 = 231.465; double result = number1 + number2; return result; // This will lead to an incorrect result }

Al sumar valores no enteros, se espera un resultado preciso. Sin embargo, debido a la inconsistencia de tipos, el resultado es erróneo.

main.c

main.c

copy
1234567891011121314151617
#include <stdio.h> int func() { double number1 = 6.985; // Not `int` nubmer double number2 = 231.765; // Not `int` number double result = number1 + number2; return result; // Output of function } int main() { // Call and immediately printing the result of our function printf("Expected Result is 238.75, but result is %d\n", func()); return 0; }

Dos factores principales contribuyen a este error:

  • Un tipo de retorno incorrecto (debe ser double);
  • Uso de un especificador de formato incorrecto (%d) en la función printf() (debe ser %f).

La versión correcta sería:

main.c

main.c

copy
1234567891011121314151617
#include <stdio.h> double func() { double number1 = 6.985; // `int` nubmer double number2 = 231.765; // `int` number double result = number1 + number2; return result; // Output of function } int main() { // Print the result of our function printf("Expected Result is 238.75, and result is %f\n", func()); return 0; }

Esto implica que se puede asignar directamente el resultado de la función a variables/arreglos o incluso pasarlo a otras funciones. Un ejemplo de esto es cómo utilizamos el resultado con la función printf en los escenarios anteriores.

Note
Nota

El especificador de formato para números de punto flotante es %f.

También es relevante mencionar que una función puede contener múltiples sentencias return, cada una activándose bajo condiciones distintas.

question mark

Has construido la función count, ¿cómo la invocarías dentro de la función main?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 2

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain more about function prototypes?

What happens if I use the wrong return type in my function?

Can you give an example of a function with multiple return statements?

Awesome!

Completion rate improved to 2.63

bookDeclaración, Tipo y Retorno

Desliza para mostrar el menú

En la lección anterior, se aprendió la anatomía básica de las funciones:

main.c

main.c

copy
123456
func_type func_name(arguments_placeholder) { // The core functionality of the function // The resulting outcome after function execution return function_output; }

Declaración

Antes de utilizar una función, debe ser declarada. Llamar a una función antes de su declaración generará un error.

Se puede declarar toda la función al mismo tiempo que su definición (como se ilustró anteriormente) o utilizar un prototipo, que se abordará como un tema adicional al final de este segmento.

Tipos de funciones y valores de retorno

El tipo de la función informa al compilador sobre el tipo de dato del resultado de la función. Por ejemplo, si nuestra función calcula la suma de dos enteros, entonces anticipamos un entero como resultado.

main.c

main.c

copy
12345678
int sumFunction() { int number1 = 6; int number2 = 10; int result = number1 + number2; return result; }

Una discrepancia entre el tipo de dato y el tipo de retorno puede hacer que la función (o incluso todo el programa) no funcione correctamente.

main.c

main.c

copy
12345678
int sumFunction() { double number1 = 6.985; double number2 = 231.465; double result = number1 + number2; return result; // This will lead to an incorrect result }

Al sumar valores no enteros, se espera un resultado preciso. Sin embargo, debido a la inconsistencia de tipos, el resultado es erróneo.

main.c

main.c

copy
1234567891011121314151617
#include <stdio.h> int func() { double number1 = 6.985; // Not `int` nubmer double number2 = 231.765; // Not `int` number double result = number1 + number2; return result; // Output of function } int main() { // Call and immediately printing the result of our function printf("Expected Result is 238.75, but result is %d\n", func()); return 0; }

Dos factores principales contribuyen a este error:

  • Un tipo de retorno incorrecto (debe ser double);
  • Uso de un especificador de formato incorrecto (%d) en la función printf() (debe ser %f).

La versión correcta sería:

main.c

main.c

copy
1234567891011121314151617
#include <stdio.h> double func() { double number1 = 6.985; // `int` nubmer double number2 = 231.765; // `int` number double result = number1 + number2; return result; // Output of function } int main() { // Print the result of our function printf("Expected Result is 238.75, and result is %f\n", func()); return 0; }

Esto implica que se puede asignar directamente el resultado de la función a variables/arreglos o incluso pasarlo a otras funciones. Un ejemplo de esto es cómo utilizamos el resultado con la función printf en los escenarios anteriores.

Note
Nota

El especificador de formato para números de punto flotante es %f.

También es relevante mencionar que una función puede contener múltiples sentencias return, cada una activándose bajo condiciones distintas.

question mark

Has construido la función count, ¿cómo la invocarías dentro de la función main?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 2
some-alt