沒有錯誤,但我期待10個值,但我只有一個值。以下是我的創建和顯示功能。將不顯示多個值
void create()
{
int random;
for (int i = 0; i < 10; i++)
{
struct node *new_node, *current;
new_node = new node;
random = randomNum();
new_node->data = random;
new_node->next = NULL;
if (start == NULL)
{
start = new_node;
current = new_node;
new_node = NULL;
}
else
{
current->next = new_node;
current = new_node;
}
}
}
void display()
{
struct node *new_node;
new_node = start;
while (new_node != NULL)
{
cout << new_node->data << "->";
new_node = new_node->next;
}
}
我需要改變什麼?
如果開始不爲空,哪裏目前得到初始化? – Steve
_I試圖初始化'電流 - >未來= NULL'_你閱讀警告消息?它在抱怨'真正水流nt'(未初始化),而不是'current-> next'。這種警告的原因是:如果if(start == NULL)中的條件爲false,則執行'else'塊,並且'current-> next = new_node;'由於未初始化指針的解引用而爲UB (你試圖修復'current-> next = NULL'是UB出於同樣的原因)。 –
@When Hang Khoo這是一個確實的錯誤還是一個警告?如果這是一個警告,你可以忽略它。 –