No tienes acceso a esta clase

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

Tipos de retorno en funciones

4/12
Recursos

Aportes 13

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Tipos de retorno en funciones 😄

<1. Funciones sin argumentos y sin valor de retorno

void functionName(); //Declarando la function.
functionName(); //Invocando o ejecutando a la function
void functionName()// definicion de la function
{
  //logica
}

2. Funciones con argumentos, pero sin valor de retorno

void functionName(float); //Declarando la function.
functionName(float); //Invocando o ejecutando a la function
void functionName(float) // definicion de la function
{
  //logica
}

3. Funciones sin argumentos, pero con valor de retorno

int functionName();

4. Funciones que tienen argumentos y valor de retorno

int functionName(int, float);
>

También es posible declarar e inicializar la función directamente, por ejemplo el código de la clase anterior quedaría así:

#include <stdio.h>


int integersPower(int base, int exp){
    int i,p;
    p=1;
    for(i=1; i<=exp; i++){
        p *= base;
    }
    return p;
}

int main()
{
    int i;
    for(i=0; i<10; i++){
        printf("exp = %d, result = %d \n", i, integersPower(2,i));
    }

    return 0;
}


Me parece más cómodo y te ahorras una línea de código, no sé si tendrá algún inconveniente

Sugerencia @equipoPlatzi utilizar una guía de estilo para poder escribir todos unos programas que sean legibles fácilmente independientemente de quien los escriba.

caso de uso donde la función no necesita que devuelva nada

  • Una función que imprime por la salida estándar una letra. (En este caso la salida estándar es la pantalla)
#include <unistd.h>

void	putchar(char a)
{
	write(1, &a, 1);
}

De hecho en las funciones que no tienen argumentos y que no regresan nada las podemos declarar de la siguiente manera:

void functionName(void);

¿Por que se usa int main() para definir la función principal y no void main()?

De hecho hasta este punto del curso la mayoría de las funciones que he usado son de tipo void sin retorno, con y sin argumentos, y las otras funciones con retorno que he usado son solamente las que he visto en esta clase y en el curso de Programación Estructurada para la función de los factoriales.

Hola a todos, he creado una funcion que encuentra la raiz cuadrada exacta de un numero, este es el codigo:

int raiz_cuadrada_exacta(int numero)
{
    int i=1;
    while(i< numero)
    {
        if (i*i == numero)
        {
            return i;
        }
        else 
        {
            i += 1;
            continue;
        } 
    }
}
int main()
{
    printf("%d", raiz_cuadrada_exacta(144));
}

Segun he visto en otros cursos, cuando tienes functionName(); tambien se le conoce como prototipo y se escribe ante de la funcion main.

Sintaxis de una función
/*
tipoRetorno nombreFuncion(param1, param2, … paramN) {
// sentences
}
*/

Con el paso de parámetros, estamos viendo como diversas partes del programa se comunican entre sí:
-funciones que no reciben argumentos ni
retornan valores
-funciones que reciben argumentos, pero
que no retornan valores
-funciones que reciben argumentos, y
retornan valores
-programas que llaman a otros programas sin paso de argumentos
-programas que llaman a otros programas , con paso de argumentos(usando sockets).

Cuando una función no retorna nada, se define void, cuando no recibe argumentos también sería void.

void miFuncion (void)
{
	sentencia_1;
	sentencia_n;
}

buena clase