Título: Función para calcular los números de Fibonacci Publicado por: Caster en 18 Mayo 2013, 13:07 pm Buenas, en un libro que estoy leyendo estoy con el tema de variables automáticas, estáticas, etc y de ejemplo me ponen un programa para calcular los números de Fibonacci que utiliza la siguiente función:
Código
No entiendo el uso de las variables, vaya cacao tengo hecho, porque al principio f1 y a f2 se le asignan los valores 1 y 2 respectivamente pero después se les vuelve a asignar los números anteriores al número actual de la sucesión ( no se si me estoy explicando bien), eso en la primera llamada a la función, pero por lo que entendí leyendo, supuestamente cuando se vuelve a llamar a la función las variables f1 y f2 volverían a tomar los valores 1 y 2, eso entendí yo, por eso no entiendo como funcionan aquí las variables, perdonad si no me explico muy bien, pero no se explicarme con el cacao que tengo en mente. Para no armaros un lío, cont es una variable fuera de la función que cuenta las pasadas por un bucle while y saber cuantos números hay que mostrar de la sucesión. Saludos Título: Re: Función para calcular los números de Fibonacci Publicado por: amchacon en 18 Mayo 2013, 13:25 pm Citar pero por lo que entendí leyendo, supuestamente cuando se vuelve a llamar a la función las variables f1 y f2 volverían a tomar los valores 1 y 2, eso entendí yo Ahí está tu error.Las variables static son variables que "persisten". Cuando se ejecutan por primera vez obtienen el valor 1 y 2 pero después mantienen su valor al finalizar la función. Aquí tienes otro ejemplo: Código
Te debería mostrar por pantalla 0,1,2. Título: Re: Función para calcular los números de Fibonacci Publicado por: Caster en 18 Mayo 2013, 13:33 pm Vale, el problema estaba en que entendí yo mal, a ver si entendí bien, si al inicializar una variable estática dentro de una función le asigno el valor 2 por ejemplo y después durante la ejecución de la función le asigno el valor 4 y sale de la función, cuando se vuelve a llamar a la función, dicha variable tendrá el valor 4 ¿no?
Título: Re: Función para calcular los números de Fibonacci Publicado por: amchacon en 18 Mayo 2013, 13:56 pm En efecto ;)
Título: Re: Función para calcular los números de Fibonacci Publicado por: Caster en 18 Mayo 2013, 14:00 pm Pues ya queda todo resuelto entonces, muchísimas gracias.
|