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);
}