Page 147

3 Funciones

CC 2003, 2008 Andr´ es Marzal e Isabel Gracia

logbase = log10(b); resultado = log10(x)/logbase; return resultado;

5 6 7 8

}

La sentencia (o sentencias) de devoluci´ on de valor forma(n) parte del cuerpo y empieza(n) con la palabra return. Una funci´ on puede incluir m´as de una sentencia de devoluci´on de valor, pero debes tener en cuenta que la ejecuci´on de la funci´on finaliza con la primera ejecuci´ on de una sentencia return.

1 2 3

float logaritmo (float x, int b) { float logbase, resultado;

4

logbase = log10(b); resultado = log10(x)/logbase; return resultado;

5 6 7 8

}

La funci´ on logaritmo se invoca como una funci´on cualquiera de math.h: logaritmo.c 1 2

logaritmo.c

#include <stdio.h> #include <math.h>

3 4 5 6

float logaritmo (float x, int b) { float logbase, resultado;

7

logbase = log10(b); resultado = log10(x)/logbase; return resultado;

8 9 10 11

}

12 13 14 15

int main (void) { float y;

16

y = logaritmo(128.0, 2) ; printf ("%f\n", y);

17 18 19

return 0;

20 21

}

Si ejecutamos el programa tenemos: 7.000000

Es necesario que toda funci´ on se defina en el programa antes de la primera l´ınea en que se usa. Por esta raz´ on, todas nuestras funciones se definen delante de la funci´on main, que es la funci´on que contiene el programa principal y a la que, por tanto, no se llama desde ning´ un punto del programa.2 Naturalmente, ha resultado necesario incluir la cabecera math.h en el programa, ya que usamos la funci´ on log10. Recuerda, adem´as, que al compilar se debe enlazar con la biblioteca matem´atica, es decir, se debe usar la opci´on -lm de gcc. Esta ilustraci´ on te servir´ a para identificar los diferentes elementos de la definici´on de una funci´on y de su invocaci´ on: 2 Nuevamente hemos de matizar una afirmaci´ on: en realidad s´ olo es necesario que se haya declarado el prototipo de la funci´ on. M´ as adelante daremos m´ as detalles.

Introducci´ on a la Programaci´ on con C

141

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement