Функция strtok довольно своеобразна. Она сохраняет информацию о строке, с которой она работала, и указатель NULL даёт ей знать, что нужно продолжать работать с той же строкой, начиная с той позиции, в которой закончился предыдущий разбор.
В общем man strtok рулит
P.S.: А вообще лучше эту функцию обходить стороной, так как она портит вносит изменения в передаваемую ей строку, а это не есть хорошо.