Eso se ve bien coso, pero has notado el útimo ";" (puno y coma) de la siguiente linea: ?
Código:
for(; copy < key; copy++);
Si es un error de Alliance "pasa", caso contrario esa linea (y la anterior) son insulsas, el programa solo mostraria "2008\n"+ y ya