typedef struct node
{
Record data;
struct node *next;
}Node;
Node *head = NULL;
void addRecord(Record x)
{
Node *previousNode = NULL;
Node *newNode;
Node *n;
newNode = (Node*)malloc(sizeof(Node));
newNode->data = x;
newNode->next = NULL;
if (head == NULL) // The list is empty
{
head = newNode;
}
else // The list is not empty
{
n = head;
while (n->next != NULL)
{
***if (n->data < newNode->data && n->next->data > newNode->data)*** // Insertion Sort
{
// We have to put it between these 2 nodes
newNode->next = n->next;
n->next = newNode;
return;
}
else
{
previousNode = n;
n = n->next;
}
}
n->next = newNode;
}
}С Ошибка: выражение должно иметь арифметический или указатель типа
У меня есть эта ошибка в коде, если в функции вставки рода. В программе говорится, что «n» должен иметь тип арифметики или указателя. В чем проблема?
[. Пожалуйста, смотрите эту дискуссию о том, почему не бросить возвращаемое значение 'таНос()' и семьи в 'C'] (http://stackoverflow.com/q/ 605845/2173917). –
Я почти уверен, что сообщение об ошибке, которое вы отправили (вставляемое), ошибочно –
В какой строке вы получаете ошибку? Каково определение типа Record? – MikeC