Поиск в линейном списке: программа зависает - 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)
Объяснение кода листинга программы
- В данном коде представлен цикл while, который выполняется до тех пор, пока значение переменной
p
не станет равнымNULL
. - Переменная
p
представляет собой указатель на первый элемент в связном списке. - Значение
NULL
используется для обозначения конца списка. - Внутри цикла while выполняется операция сравнения
p!=NULL
, где!=
означаетне равно
. - Если значение переменной
p
не равноNULL
, то выполняется блок кода, который зависит от условий, описанных в вопросе. - Если значение переменной
p
равноNULL
, то цикл while завершается и выполнение программы продолжается после его завершения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д