Pardon, mi sono perso un pezzo della condizione; l'if doveva essere:
codice:
            if(secPtr==NULL || (firstPtr!=NULL && firstPtr->i < secPtr->i))
Ovvero, entra nel blocco se:
- la seconda lista è finita;
- nessuna delle liste è finita (firstPtr!=NULL così come secPtr, altrimenti la parte dopo || non viene valutata), e l'elemento della prima lista precede il secondo.