Char * st[6]={ "Matemáticas", "Física", "Inglés", "Política", "Deportes", } strcpy(st[5], ST[1]);
St[0]= "Matemáticas" st[1]= "Física"...st[4]= "Deportes" st[5]=NULL, por lo que copiar la cadena vacía es un error.
Char * st[6]={ "Matemáticas", "Física", "Inglés", "Política", "Deportes", " " }; Esto le abre un espacio de copia.
strcpy(st[4], ST[1]);