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