Cell* drop(int n, Cell* L)
  {
    if(n == 0) return L;
    else if(L == NULL) return NULL;
    else return drop(n-1, L->next);
  }

Remark. The above answer is fine for the quiz. But if you want to say that parameter L is a constant parameter, then you either need to make the result const as well, or you need to copy L. Here are those two approaches.

  const Cell* drop(int n, const Cell* L)
  {
    if(n == 0) return L;
    else if(L == NULL) return NULL;
    else return drop(n-1, L->next);
  }

  Cell* drop(int n, const Cell* L)
  {
    if(n == 0) return copy(L);
    else if(L == NULL) return NULL;
    else return drop(n-1, L->next);
  }