-4
我已經從編程類的代碼:C++有問題的功能,數組列表
void ToList(List *first, int *arr, int n) {
List *p = first;
for(int i=0; i<n; i++) {
p->x = arr[i];
if (p->next != NULL) p = p->next;
}
}
我把它以一個陣列元件轉移至列表:
int main() {
const int N = 10;
int m[N] = {5, 8, 1, 7, 2, 6, 9, 4, 0, 3};
List *first = NULL;
ToList(first, m, N);
PrintList(first);
我有一個「分段錯誤「 - 程序以退出代碼139結束。什麼是錯誤的,它如何被修復?
歡迎來到Stack Overflow。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –
您的列表('first')爲'NULL',並且您從未爲其分配任何內存 – Alexander
解決此類問題的正確工具是您的調試器。在*堆棧溢出問題之前,您應該逐行執行您的代碼。如需更多幫助,請閱讀[如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,你應該[編輯]你的問題,以包含一個[Minimal,Complete,and Verifiable](http://stackoverflow.com/help/mcve)例子來重現你的問題,以及你在調試器中所做的觀察。 –