-1
我無法理解爲什麼我一直在收到段錯誤。段錯誤(核心轉儲)代碼塊
我使用codeblocks,它編譯成功,但代碼不執行。在執行時,我不斷收到這個錯誤。
這是我的代碼:
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
struct node *nc(int data)
{
struct node *temp = (struct node *)(malloc(sizeof(struct node)));
temp->data = data;
temp->next = NULL;
return temp;
}
int main()
{
struct node *head;
head->data = 5;
struct node *a = nc(19);
struct node *b = nc(25);
struct node *c = nc(12);
head->next = a;
a->next = b;
b->next = c;
while (head != NULL)
{
printf("%d \n", head->data);
head = head->next;
}
}
聽起來就像你需要學習使用調試器。僅僅因爲代碼編譯並不意味着它是正確的。離得很遠。你在某處做了一個無效的內存引用。如果你想學習成爲一名優秀的程序員,你需要學習如何找到這樣的錯誤。那麼你有什麼嘗試? – lurker
提示:當head-> data = 5時,'head'的值是多少?'? – lurker
感謝您的快速回復!我得到了我的錯誤 –