#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
class Node{
public:
int data;
Node * next;
};
void Append(Node * head, int newdata){
Node * n = head;
if(n->next != NULL)
{
n = n->next;
}
n->data = newdata;
cout<<"data-> "<<newdata<<" inserted!"<<endl;
}
void Display(Node * head){
Node * n = head;
if(n->next != NULL)
{
cout<<"data->"<<n->data<<endl;
n = n->next;
}
cout<<"data->"<<n->data<<endl;
}
int main(int argc, char * argcv[])
{
Node * headnode;
int newdata = 20;
Append(headnode, newdata);
Display(headnode);
return 0;
}
这个程序的输出是:单独链接列表的headnode是否有默认值?
data-> 20 inserted!
data->1
data->20
为什么headnode已经在这里指定为 “1” 的数据成员?
'headnode'未初始化并包含随机数据。 – Erik 2011-03-12 21:40:37
我很惊讶该计划甚至没有segfaulting运行。下一个节点也不会被初始化。 – GWW 2011-03-12 21:46:47
甚至没有下一个节点。噢亲爱的! – 2011-03-13 08:18:49