>>411
すいません!書き忘れてましたけど、headはstatic変数で今回ダミーとして扱います
ちなみにheadはhead->next = NULLで初期化してあります。

for文の初期化でtmp = head;とあるので、head->nextでダミーではない値をもつリストに入るときにはcntは1になっています
なのでcnt == indexはひとつ前になるんじゃないかな〜と考えてます。間違えてたらすいません