struct Node* Dequeue(struct Queue *queue)
{
struct Node *temp = queue->front;
if (temp == NULL)
{
printf("Nothing to delete");
return temp;
}
else if (temp->next == NULL)
{
free(temp);
queue->front = NULL;
queue->rear = NULL;
printf("Successfully delete.");
return temp;
}
else
{
queue->rear = queue->rear->next;
free(temp);
printf("Successfully delete.");
return temp;
}
}
Как я напечатал в функции main() данные удаленного узла, он выводит случайное число, в чем моя ошибка? Кто-нибудь, пожалуйста, помогите.Функция dequeue не работает должным образом, какова моя ошибка?
Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, ** конкретную ** проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без ** ясной постановки проблемы ** не полезны другим читателям. См.: Как создать [mcve]. – Olaf