#include #include #include "fib.h" // TODO: Fix this function. int* BuildFibArray(int n) { int Numbers[n]; for (int x = 0; x < n; x++) { Numbers[x] = fib(x); } int *Array = Numbers; return Array; } int main(int argc, const char *argv[]) { int *fibs = BuildFibArray(10); // Doing some stuff that could overide the values we point to fib(5); printf("Fib: "); for (int i = 0; i < 10; i++) printf("%d, ", fibs[i]); printf("\n"); // As you noticed this doesn't print out the right numbers // That is because, when we return from the function, the array is no longer allocated. // So the pointer points to just garbage. If we are lucky nothing did overwrite the values, but normaly thats not the case. }