我正在處理單個鏈表並且無法解決問題(我認爲問題是在添加函數時使用NULL指針),問題是它只添加第一個數字來列表並跳過休息呼叫添加功能。無法理解c中的空指針
#include<stdlib.h>
#include<stdio.h>
struct node
{
int i;
struct node* next;
};
struct node* head = NULL;
int add(int val)
{
if(head == NULL)
{
head = (struct node*)malloc(sizeof(struct node));
head->i = val;
}
else
{
struct node* current = head;
while(current != NULL)
{
current = current->next;
}
current = (struct node*)malloc(sizeof(struct node));
current->i = val;
}
}
int print(struct node* first)
{
while(first != NULL)
{
printf("%d\n",first->i);
first = first->next;
}
}
int main()
{
add(36);
add(46);
add(97);
print(head);
return 0;
}
@underscore_d這就是所謂的C++,如果你想試着阻止人們詢問關聯鏈表的問題,那麼這就是無關緊要的。 – immibis