Tutorial



Co to ja miałem? Aha, sklerozę!

W przypadku takiego kodu:

#include <stdio.h>
int d,n,i;

int fib(int x)
{
  return (fib(x-1)+fib(x-2))%10000;
}

int main()
{
  scanf("%d\n",&d);
  while (d--)
  {
    scanf("%d\n",&n);
    printf("%d\n",fib(n));
  }
  return 0;
}

Sprawdzarka zwróci ocenę:

Runtime Error

Oznacza to, że w program chciał wykonać operację niedozwoloną (np. może to być dzielenie przez zero albo korzystanie z nie zaalokowanej pamięci). W tym przypadku, z braku warunku końcowego na rekurencję, program przekroczy pojemność stosu i zostanie przerwany.