我当前正在尝试创建一个程序,该程序创建一个单链列表,该单链列表接受输入,然后打印出链列表中的值。下面是应该打印出值的函数。
void Linked_list_return()
{
Node* pointy;
pointy = h;
cout << pointy -> data;
}
,而不是返回值,而是打印为0。我不知道下面是什么完整程序。
#include <iostream>
using namespace std;
class Node
{
public:
int data;
Node* next;
};
void Linked_list(int input_data, int &decision);
void Linked_list_return();
Node* h;
int main()
{
int size_of;
int input;
cout << "How many numbers would you like to enter? " << '\n';
cin >> size_of;
cout << "What are the numbers?" << endl;
while (size_of > 0)
{
cin >> input;
Linked_list (input, size_of);
size_of--;
}
cout << "Completed!" << endl;
Linked_list_return();
return 0;
}
void Linked_list(int input_data, int &decision)
{
Node* n;
Node* t;
n = new Node();
t = new Node();
h = new Node();
t->data = input_data;
t->next = n;
t = n;
if (decision == 0)
{
n = new Node();
t-> data = input_data;
t -> next = NULL;
}
}
void Linked_list_return()
{
Node* pointy;
pointy = h;
cout << pointy -> data;
}
答案 0 :(得分:1)
h = new Node;
因此它是新对象,表示实例化。
你也是
pointy = h;
。
因此pointy->data
将为0。
答案 1 :(得分:1)
您没有先为h分配任何内容,它为空