В insertFriend
вы создаете узел, который указывает на себя.
Сначала проверка последнего узла (if(friendee->nxtfriend==NULL) friendee->nxtfriend=newfriend;
) будет указывать friendee->nxtfriend
на нового друга.Затем в следующем операторе, если nxtfriend
не равно NULL (а это не потому, что вы просто установили его на nxtfriend
), вы устанавливаете newFriend->nxtfriend
на friendee->nxtfriend
, которое вы просто установите на newFriend
.Это приводит к newFriend->nxtfriend == newFriend
и вашему бесконечному циклу.
Пересмотрите, как вы хотите вставить узлы в свой список.