1
我在通過輸入記錄的電話號碼從鏈接列表中刪除節點時遇到了問題。這是應該這樣做的代碼:找到它後從鏈表中刪除一個節點
typedef struct record
{
char name[20];
char surname[20];
char telephone[20];
}Record;
typedef struct node
{
Record data;
struct node *next;
}Node;
Node *head = NULL;
void delete() {
Node *n = head;
Node* previous = NULL;
Node *next = n;
。 。 。 (這裏我寫的代碼進入存儲在telNumber數([20]),查找包含
while (n != NULL) {
if (&n->data.telephone == telNumber) {
if (previous == NULL) {
n = n->next;
free(head);
}
else {
previous->next = n->next;
free(n);
n = previous->next;
}
}
else {
previous = n;
n = n->next;
}
}
printf("You have successfully deleted the telephone record");
記錄仍然存在數量記錄
這確實解決了部分問題,謝謝。但是,在顯示記錄時,記錄仍然存在。也許我需要回報一些東西? – Simon