Проблема заключается в функции fib.
Строка "int num [max];" это проблема. Это связано с тем, что компилятор пытается выделить место для максимального числа целых чисел, но токен max не определен для компилятора должным образом во время компиляции.
Вы можете использовать динамическое выделение памяти для решения этой проблемы.
Но я удивляюсь, почему вам может понадобиться такое огромное пространство (когда максимально большое), так как вам нужны только предыдущие числа для генерации последовательности.
void fib(int max)
{
int a = 0, b = 1; // first 2 numbers of the sequence.
int c, i;
for (i = 0; i < max; i++)
{
if (i == 0)
printf ("%d %d",i,a);
else if (i == 1)
printf ("%d %d",i,b);
else{
c = a+b;
printf ("%d %d",i,c);
a = b;
b = c;
}
}
}