我試圖從行中添加書籍並將其存儲在鏈接列表中。但是,當我試圖這樣做時,它會繼續讀取文件。鏈接列表添加功能不存儲數據
我在語句if (current == NULL)
之前添加了一條打印語句,並且它作爲空鏈接列表返回。
讀取文件後,我可以得到正確的結果,但一旦彈出if循環,當前節點就再次變空了。
下面是代碼:
typedef struct _Book
{
int ISBN;
char Title[20];
char Author[20];
char Description[40];
int CopiesAtCSU;
struct _Book *next;
} Book;
int add(Book **listHead,int ISBN,char *Title,char *Author, int CopiesAtCsu, char *description, int sortIndx){
current = listHead;
prev = null;
newNode = null;
newNode = malloc(sizeof(Book));
newNode->ISBN = ISBN;
//newNode->Title = Title;
strcpy(newNode->Title, Title);
//newNode->Author = Author;
strcpy(newNode->Author, Author);
newNode->CopiesAtCSU = CopiesAtCsu;
//newNode->Description = description;
strcpy(newNode->Description, description);
newNode->next = NULL;
if (*listHead == NULL){
current = newNode;
printf("\n check current in the loop: \n");
displayBookList(current);
listHead = current;
printf("\n ");
}
}
顯示爲只打印鏈接列表中的所有項目的方法。
是什麼書?目前是什麼?什麼是很多其他變量?如果你想得到幫助,請給我們更多的信息。 – acornagl
您可以發佈[MCVE](stackoverflow.com/help/mcve)嗎?就目前而言,很難說出你的錯誤。通過MCVE我的意思是,displayBookList(),current,prev和newNode是什麼? – gowrath