estoy probando los punteros y las funciones en c y quiero intentar hacer una funcion que me retorne la succecion de fibonacci hasta el numero 10000. Este es el codigo:
#include <stdio.h>
void fibonacci(int *ar);
int main(void){
int arr[256];
fibonacci(arr);
for(int m:arr){ <----
printf("%d\n", m);
}
return 0;
}
void fibonacci(int *ar){
int x = 1, y = 0, z = 1;
int a = 0;
*(ar+a) = 0;
while(x <= 10000){
*(ar+a) = x;
a++;
x = z + y;
y = z;
z = x;
}
}
exactamente la linea marcada con una flecha tengo un for donde recorro todo el array, pero en lugar de mostrar solo la sucesion, me muestra los 256 espacios de la memoria asignados para arr
. ¿como puedo hacer para mostrar solo la sucesion?