Поиск в линейном списке: программа зависает - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите исправить код пожалуйста. Программа правильно работает,но после вывода на экран нужного элемента просто зависает.
void find()
{
car *p, *temp;
char sp[10];
//if(tail==NULL)
//{
//printf("Spisok esho ne sozdan!");
//getch();
//}
//else
//{
clrscr();
printf("Vvedite model' mashini,kotoruiu hotite naiti: ");
scanf("%s",&sp);
p=head;
while (p==NULL)
{
if(strcmp((p->model),sp)==0)
{
printf("[Marka]\t[Model]\t[Cvet]\t[Strana]\t[Cena]\n");
        printf("%s",p->marka);
        printf("\t%s\t",p->model);
        printf("%s\t",p->cvet);
        printf("%s",p->strana);
        printf("\t\t%s\n",p->cena);
        p=p->next;
}
}
}

Решение задачи: «Поиск в линейном списке: программа зависает»

textual
Листинг программы
while (p!=NULL)

Объяснение кода листинга программы

  1. В данном коде представлен цикл while, который выполняется до тех пор, пока значение переменной p не станет равным NULL.
  2. Переменная p представляет собой указатель на первый элемент в связном списке.
  3. Значение NULL используется для обозначения конца списка.
  4. Внутри цикла while выполняется операция сравнения p!=NULL, где != означает не равно.
  5. Если значение переменной p не равно NULL, то выполняется блок кода, который зависит от условий, описанных в вопросе.
  6. Если значение переменной p равно NULL, то цикл while завершается и выполнение программы продолжается после его завершения.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы