No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Implementación de funciones

5/12
Recursos

¿Cómo definir una función sin argumentos y sin tipo de retorno en C?

Iniciar con el desarrollo de funciones en C puede ser un proceso emocionante para los principiantes, dado que es fundamental para la programación estructurada. En esta sección aprenderemos a definir una función sin argumentos y sin tipo de retorno, lo cual es una base esencial antes de abordar funciones más complejas.

¿Cómo se estructura una función básica sin retorno?

Para empezar, debemos recordar que una función en C siempre comienza con la declaración de su tipo de retorno. En este caso, utilizaremos void para indicar que la función no devuelve ningún valor. Al no tener parámetros que pasarle, también usaremos void entre paréntesis en su definición. Pongamos esto en práctica:

#include <stdio.h>

// Declaración de la función
void demo(void); 

int main() {
    // Llamada a la función
    demo(); 
    return 0;
}

// Definición de la función
void demo(void) {
    int a = 100, b = 100;
    int sum = a + b;
    printf("The result is: %d\n", sum);
}

En este ejemplo, hemos definido una función simple llamada demo. No recibe argumentos y no tiene un tipo de retorno. Simplemente realiza la suma de dos números y muestra el resultado.

¿Cómo se modifican las funciones para utilizar argumentos?

A medida que nuestra comprensión mejora, es natural querer que nuestras funciones realicen operaciones más complejas. Un paso intermedio es permitirle recibir argumentos que pueda usar dentro de sus procesos internos. A continuación, transformamos nuestra función básica para aceptar dos enteros como argumentos.

#include <stdio.h>

// Declaración de la función
void add(int a, int b); 

int main() {
    int x = 100;
    int y = 100;

    // Llamada a la función con argumentos
    add(x, y);
    return 0;
}

// Definición de la función
void add(int a, int b) {
    int sum = a + b;
    printf("The result is: %d\n", sum);
}

Con esta variación, pasamos dos enteros (x y y) a la función add para sumar estos valores y luego imprimir el resultado.

¿Cómo definir y usar funciones con tipo de retorno?

Finalmente, podemos optimizar nuestras funciones para que devuelvan valores. Este es un paso crucial para muchas aplicaciones que requieren calcular y retornar resultados basados en operaciones. Aquí, adaptaremos la función para devolver la suma:

#include <stdio.h>

// Declaración de la función
int add(int a, int b); 

int main() {
    int x = 100;
    int y = 100;
    int result;

    // Llamada a la función y almacenamiento del resultado
    result = add(x, y);
    printf("The result is: %d\n", result);
    return 0;
}

// Definición de la función
int add(int a, int b) {
    return a + b;
}

En este diseño, add ahora devuelve un int, lo que permite a main almacenarlo en la variable result y luego imprimir el valor. Este enfoque es altamente útil para obtener resultados en tiempo real y utilizan más ampliamente los recursos de la función.

Es fundamental que los estudiantes de programación sigan practicando estas variedades, pues son la base para operaciones más complejas y eficientes. ¡Continúa practicando y verás cómo tu confianza y habilidad en C crecerán de forma significativa!

Aportes 16

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Las variables globales int a, b que has declarado en la línea 2 no se está usando.

Llamar a la función add e internamente una variable add hacen un poco complicada la lectura del código.

Por lo demás genial, me gusta como va el curso.
Seguimos lleno de entusiasmo.

Funciones sin argumentos y sin valor de retorno 😄

<void demo();

int main()
{
  demo();

  return 0;
}

void()
{
 int a, b, suma;
 a = 100;
 b = 100;
 printf("El resultado es %i", suma);
}
>

Funciones con argumentos, pero sin valor de retorno

<int a, b;

void sum(int a, int b);

int main()
{
  sum(100, 100);

  return 0;
}

void sum(int a, int b)
{
 int sum;
 sum = a + b;
 printf("El resultado es %i", sum);
}
>

Funciones que tienen argumentos y valor de retorno

<int a, b;

int sum(int a, int b);

int main()
{
  sum(100, 100);
  printf("El resultado es %i", sum(100, 100));
  return 0;
}

int sum(int a, int b)
{
 int sum;
 sum = a + b;
 return sum;
}
>

¿Por qué la creación de funciones se divide en 3 partes? y ¿Por qué la declaración debe ir después de las librerías? ¿por qué la definición de la función debe ir después de main?

Los argumentos que VisualStudioCode le puso al profes por defecto representan el numero de argumentos que tenga el programa y una cadena de caracteres donde viene cada uno de esos argumentos como string. En pocas palabras, son cosas un poco mas avanzadas que creo que no aparecen en este curso.

Código de la función potencia y suma en uno

#include <stdio.h>

// Hace la potencia de dos nuemros enteros
int power(int base, int exponente);
//Suma dos valores
int add(int a, int b);

int main()
{
    for (int exponente = 0; exponente < 10; exponente++)
    {
        printf("%d ^ %d = %d\n", 2, exponente, power(2, exponente));
    }
    printf("\nAddition result is %d", add(7,3));
    return 0;
}

int power(int base, int exponente)
{
    int resultado = 1;
    for (int i = 1; i <= exponente; i++)
    {
        resultado = base * resultado;
    }
    return resultado;
}

int add(int a, int b)
{
    int add;
    add = a + b;
    return add;
}

```c# #include <stdio.h> void add(); int main() { add(100, 100); return 0; } void add(int a, int b) { printf("The result of the sum is %d", a + b); } ```#include \<stdio.h> void add(); int main() {    add(100, 100);        return 0;} void add(int a, int b) {    printf("The result of the sum is %d", a + b);}
<code> 
```#include <stdio.h>
void demo(int a, int b);

main()
{
    /* code */
    int a, b;
    printf("ingrese el valor de a ");
    scanf("%i", &a);
    printf("ingrese el valor de b ");
    scanf("%i", &b);

    demo(a,b);
    return 0;
}

void demo (int a, int b){
    int sum;
    sum = a + b;
    printf("la suma es %d", sum);
}

super

Algo que me ha servido al momento de escribir código es recolectar dentro de funciones acciones que suelo utilizar frecuentemente. Por decir, si en tu programa necesitas que el usuario escriba varios datos(nombre, apellidos, etc), podrías hacer una función que lea los datos de entrada y simplemente cambie el mensaje dependiendo de lo que le pidas que ingrese.

en cada video me impresiono mas!

Al momento de utilizar las funciones no debemos olvidar que se tienen tres partes principales, en una se declara la función , posterior a esto la debemos llamar y por ultimo debemos definir la lógica que esta va a tener.

‘sum’ was actually ok and even better than ‘add’

#include <stdio.h>

void demo();
void add(int a, int b);

int main(int argc, char const *argv[])
{
    demo();
    add(1, 2);
    return 0;
}

void demo()
{
    int a, b, sum;
    a = 100;
    b = 200;

    sum = a + b;
    printf("sum = %d\n", sum);
    printf("Hello World!\n");
}

void add(int a, int b)
{
    int sum;
    sum = a + b;
    printf("sum = %d\n", sum);
}

Me gustan mucho estos cursos, siento que me da buenas bases en todo, mi objetivo es aprender Tecnologías .NET

Y el profesos explica muy bien y transmite entusiasmo por el tema

Despues del minuto 8 se va el audio, ya me ha pasado en otras clases

buena clase