0
#include <iostream>
#include <string>
using namespace std;
struct Node{
Node *next;
int data;
};
int main(){
Node* head = NULL;
int data;
cin >> data;
Node*m = head;
while(data >0){
cout <<"enter a data";
cin >> data;
m -> data = data;
m -> next = m;
}
while(m -> next != NULL){
cout << m -> data << endl;
}
return 0;
}
下面是簡單的代碼,它們在大於0時創建鏈接列表並獲取值。輸入負值後,while循環終止並打印值。鏈接列表中的原因分段錯誤
但是,當代碼輸入數據並獲取數據後,代碼會給我提供分段錯誤。我解決不了,原因是什麼?
但是,當我寫了m = &tmp;它給了我這個錯誤。 homework.cpp:在函數「廉政的main()」: homework.cpp:24:錯誤:在分配 –
抱歉,不能將「節點**」到「節點*」。當然它應該是'.',而不是' - >'。這應該工作。 – user1516873
並在'while'中存儲堆棧變量不是一個好主意:)增加了工作解決方案。 – user1516873